<SEC-DOCUMENT>0001811884-24-000009.txt : 20240326
<SEC-HEADER>0001811884-24-000009.hdr.sgml : 20240326
<ACCEPTANCE-DATETIME>20240326115717
ACCESSION NUMBER:		0001811884-24-000009
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		124
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240326
DATE AS OF CHANGE:		20240326

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			UTAH MEDICAL PRODUCTS INC
		CENTRAL INDEX KEY:			0000706698
		STANDARD INDUSTRIAL CLASSIFICATION:	SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		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:		24782128

	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-20231231.htm
<DESCRIPTION>UTAH MEDICAL PRODUCTS INC - FORM 10-K SEC FILING
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:fil="http://www.utahmed.com/20231231" 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/2020-02-12" 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 [PPXK9NDL3JZWVDRZ9JZY]. 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="Y23" id="fact1">0000706698</ix:nonNumeric>
<ix:nonNumeric name="dei:AmendmentFlag" contextRef="Y23" id="fact2">false</ix:nonNumeric>
<ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="Y23" id="fact3">2023</ix:nonNumeric>
<ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="Y23" id="fact4">FY</ix:nonNumeric>
<ix:nonNumeric name="us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" contextRef="E23" id="fact5">http://fasb.org/us-gaap/2023#FiniteLivedIntangibleAssetsGross</ix:nonNumeric>
<ix:nonNumeric name="us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" contextRef="E22" id="fact6">http://fasb.org/us-gaap/2023#FiniteLivedIntangibleAssetsGross</ix:nonNumeric>
<ix:nonNumeric name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" contextRef="E23" id="fact7">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</ix:nonNumeric>
</ix:hidden>
<ix:references>
<link:schemaRef xlink:arcrole="http://www.xbrl.org/2003/linkbase" xlink:href="utmd-20231231.xsd" xlink:type="simple"/>
</ix:references>
<ix:resources>
<i:context id="Y23">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E23">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23Q2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2023-06-30</i:instant>
</i:period>
</i:context>
<i:context id="I240325">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2024-03-25</i:instant>
</i:period>
</i:context>
<i:context id="D231231">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-12-31</i:startDate>
<i:endDate>2023-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="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="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="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="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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="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="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="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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:instant>2023-12-31</i:instant>
</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="Y23Q1">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-03-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-04-01</i:startDate>
<i:endDate>2023-06-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q3">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-07-01</i:startDate>
<i:endDate>2023-09-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q4">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-10-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</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="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E23_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>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23_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>2023-01-01</i:startDate>
<i:endDate>2023-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="Y23" escape="true" id="ixv-10348">10-K</ix:nonNumeric></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#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="Y23" format="ixt-sec:boolballotbox" id="ixv-10349">&#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="Y23" format="ixt:date-monthname-day-year-en" id="ixv-10350"> <ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="Y23" format="ixt:date-monthname-day-en" id="ixv-10351">December 31</ix:nonNumeric>, 2023</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="Y23" format="ixt-sec:boolballotbox" id="ixv-10352">&#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="Y23" escape="true" id="ixv-10353">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="Y23" escape="true" id="ixv-10354">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="Y23" format="ixt-sec:stateprovnameen" id="ixv-10355">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="Y23" escape="true" id="ixv-10356">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="Y23" escape="true" id="ixv-10357">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="Y23" escape="true" id="ixv-10358">Midvale</ix:nonNumeric></b>, <b><ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="Y23" format="ixt-sec:stateprovnameen" id="ixv-10359">Utah</ix:nonNumeric></b> &#160;<b><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Y23" escape="true" id="ixv-10360">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="Y23" escape="true" id="ixv-10361">801</ix:nonNumeric></b>) </span><ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Y23" escape="true" id="ixv-10362">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="Y23" escape="true" id="ixv-10363">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="Y23" escape="true" id="ixv-10364">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="Y23" id="ixv-10365">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="Y23" id="ixv-10366">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="Y23" id="ixv-10367">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="Y23" id="ixv-10368">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="Y23" id="ixv-10369">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="Y23" format="ixt-sec:entityfilercategoryen" id="ixv-10370">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="Y23" format="ixt-sec:boolballotbox" id="ixv-10371">&#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="Y23" format="ixt-sec:boolballotbox" id="ixv-10372">&#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="Y23" format="ixt-sec:boolballotbox" id="ixv-10373">&#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="Y23" format="ixt-sec:boolballotbox" id="ixv-10374">&#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="Y23" format="ixt-sec:boolballotbox" id="ixv-10375">&#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, 2023, 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="E23Q2" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-10376">313,392,922</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 25, 2024, common shares outstanding are <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="I240325" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-10377">3,589,014</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="Y23" escape="true" id="ixv-10378">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">&#160;</p>
<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><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 1C</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="#a8" style="text-decoration:none">Cybersecurity</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="#a9" 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="#a9" 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="#a10" 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="#a10" 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="#a11" 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="#a11" 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="#a12" 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="#a13" 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="#a13" 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="#a14" 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="#a14" 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">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="#a15" 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="#a15" 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">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="#a16" 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="#a16" 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">33</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 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="#a17" 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">33</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 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="#a18" 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">52</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="#a19" 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="#a19" 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">52</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="#a20" style="text-decoration:none">Item 9B</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="#a20" style="text-decoration:none">Other Information</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">52</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="#a21" 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="#a21" 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">52</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="#a22" 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="#a23" 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="#a23" 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">53</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 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="#a24" 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">53</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 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="#a25" 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">53</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="#a26" 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="#a26" 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">53</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 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="#a27" 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">53</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="#a29" 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="#a30" 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="#a30" 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">54</p>
</td></tr>
<tr><td valign="top" style="width:19.12%"><p style="font:10pt Dutch801SWC;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:68.16%"><p style="font:10pt Dutch801SWC;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="#a31" style="text-decoration:none">Item 1</a><a href="#a31" style="text-decoration:none">6</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="#a31" style="text-decoration:none">Form 10-K Summary</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="#a32" style="text-decoration:none">SIGNATURES</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">55</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- 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.  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 clinician end-user facilities or a designated stocking distributor for a medical facility.  In addition, UTMD manufactures components and finished devices on a subcontract basis for other companies in the medical device business as well as other businesses. Outside the U.S. (OUS), devices are sold directly to end-users in Canada, the United Kingdom (UK), France, Ireland, Australia (AUS) and New Zealand (NZ), and through other medical device companies and independent medical products distributors in other countries. UTMD has representation globally in the major developed countries as well as many underdeveloped countries through more than 200 distributors, 114 of which purchased at least five thousand dollars in UTMD medical devices during 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: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 $82 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 AUS 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 2023 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 AUS subsidiary incorporated a NZ subsidiary in order to distribute devices directly to medical facilities in NZ. &#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.  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,&#160;fetal&#160;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 (e.g., oxytocin dose) 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 or body, 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.  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.&#160;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 pre-cancerous 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 and confirmation of diseased tissue removal. &#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 that might compromise adequate cervical function.  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>The FINESSE+ electrosurgical generator design includes dispersive pad contact monitoring for patient safety, specialized circuitry for computer-controlled output that provides a precise tissue specimen for histopathology, an efficient output stage resulting in minimal heat generation and long electronic component life, an electronic components design which reduces the number of required components and allows a long 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.  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 2023, 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 40 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 2023 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 electrical 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;In addition, two more recent hysteroscopic sterilization methods, the Adiana and the Essure occlusive devices, also are no longer being sold. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"> &#160;&#160;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;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.</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, as with any other surgical clip or implant, is subsequent clip movement, often called &#8220;migration&#8221;. 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, movement 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 2024, there were a total of thirteen still open clip migration lawsuits initiated by the same law firm in eleven different states. UTMD has either filed early dispositive motions to dismiss or has filed motions for summary judgement aimed at defeating cases before trial. In UTMD&#8217;s view, the current lawsuits, all of which have not gone to trial yet, are without merit as UTMD believes that they are preempted by federal law and that plaintiffs will be unable to show that their complaints were caused by migrated clips.&#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.  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>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">BioPharm HP-PRT&#8482;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Over 15 years ago, on behalf of an OEM customer, UTMD was the original developer of high pressure, piezo-resistive transducer assemblies used in accurately sensing static and dynamic fluid pressures in biopharmaceutical manufacturing systems including filtration processes, chromatography processes, bioreactors, and filling operations, among other key processes in the rapidly growing biopharmaceutical industry. &#160;Beginning in 2024, UTMD will begin offering its technology directly to biopharmaceutical manufacturing companies worldwide. &#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 2023, UTMD sold components and finished devices to 129 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 2023, as a percentage of consolidated total USD sales, represented 44% compared to 39% in 2022 and 38% in 2021.  In USD terms, 68% of 2023 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 2023, UTMD distributed directly to OUS medical facilities in Canada, the UK, France, Ireland, Australia and New Zealand.  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 2023 comprised 13% 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, NZ and AUS, 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 over 100 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;UTMD&#8217;s largest OEM customer represented 17% ($8.6 million) of total consolidated sales in 2023, compared to 22% ($11.6 million) in 2022 and 18% ($8.9 million) 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>OUS, the Company and its subsidiaries distribute directly to end-user facilities in Canada, the UK, France, Ireland, NZ and AUS, and in 2023 sold to more than 200 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 2021 - 2023. &#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.  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, 5) pressure sensors needed for biopharmaceutical manufacturing processes and 6) product and process development for OEM customers. Internal product development expenses are expected to be closer to 2% of sales in 2024 as UTMD validates and qualifies its BioPharm HP-PRT devices. &#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, 2023, the Company worldwide had 169 full-time employees, 21 part-time employees, 7 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 2023, the average tenure with the Company of the combined 169 full-time employees worldwide is over 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 seven 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 2023, royalties included in cost of goods sold were $172. &#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 2023 the Company received $20 in royalty income compared to $20 in 2022 and $15 in 2021. &#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 and biopharma 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;</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. &#160;In 2023, UTMD&#8217;s manufacturing facility in Ireland was inspected by the FDA in conjunction with manufacturing Filshie clips in Ireland. &#160;No FDA-483 observations were issued.&#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&#8217;s most recent Utah FDA QSR inspection was in July 2014, which did not result in the issuance of any FDA-483 observations. Since 2019, UTMD&#8217;s manufacturing facilities in Utah have been annually audited and certified by a recognized authorized auditing organization under the Medical Device Single Audit Program (MDSAP). The MDSAP allows a recognized Auditing Organization to conduct a single regulatory audit of a medical device manufacturer that satisfies the relevant requirements of the regulatory authorities of Australia, Brazil, Canada, USA and Japan. &#160;In other words, the FDA accepts MDSAP audit reports as a substitute for routine periodic FDA QSR inspections. 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 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. Femcare&#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>
<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 affect 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 2023 trade USD revenues from customers OUS were $22,020 (44% of total consolidated USD sales) compared to $20,310 (39% of total consolidated USD sales) in 2022 and $18,395 (38% of sales) in 2021. &#160;OUS trade sales (U.S. exports) from the U.S. to OUS customers were $4,516 in 2023 compared to $4,256 in 2022 and $3,994 in 2021. &#160;U.S. exports represented 21% of total OUS trade sales in both 2023 and 2022, and 22% in 2021. &#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 $3,650 as of January 1, 2024 compared to $5,605 as of January 1, 2023 and $4,956 as of January 1, 2022. &#160;The decline in the beginning of 2024 backlog was due to lower orders from UTMD&#8217;s largest OEM customer. &#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, and even the use of the safest medical devices may still result in injury.  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 twelve 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. 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.  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-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 expanded to thirteen other states with a total of eighteen lawsuits as plaintiffs&#8217; lawyers have sought to solicit and recruit claimants in other states. Five lawsuits in three states have been dismissed as of January 31, 2024. &#160;Unfortunately, social media is being used by aggressive attorneys to solicit plaintiffs using statements that have not been proven to be true. Nevertheless, the filing of new lawsuits died down considerably in 2023.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;&#160;There is no basis for a claim of either a poor device design, which was approved as safe and effective by the U.S. FDA, and has remained FDA approved since 1996 during more than two decades of use, or no evidence to-date of any defective clips implanted in the patients who have filed complaints, or no lack of proper disclosure of side effects to physicians who are learned intermediaries. Filshie clips have been prescribed by knowledgeable U.S. physicians for decades, and implanted in millions of patients in the U.S. and worldwide. &#160;Although the cost of defense has been unusually high compared to UTMD&#8217;s historical average, and will continue to increase should cases go to trial, 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 the Filshie clip claims, there have been no product liability lawsuits for any UTMD device during the last twelve 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 45 years, a product liability lawsuit could result in a significant damages 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.</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.  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 normal responsibilities, particularly in new product development and routine quality assurance activities.<br/>&#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. In other industries 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 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 and uncontrolled immigration 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 geopolitical 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">Current lack of predictability of demand from a major OEM customer representing 17% of total consolidated sales in 2023.</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 1C - CYBERSECURITY</b></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Risk Management and Strategy</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 considers cybersecurity to be an important part of its overall business strategy and risk management. &#160;&#160;UTMD continuously monitors its information systems to assess, identify and manage risks from both inside and outside forces. &#160;Functional modules are fully-integrated, which provides for transaction checks and balances. &#160;Software systems have been validated for effectiveness of intended uses. &#160;Policies and procedures have been implemented which all employees acknowledge in writing, and agree to follow as a condition of employment. &#160;Access is documented and controlled by business function. &#160;Regular employee user training is conducted to promote awareness of outside threats and the importance of following procedures.&#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 utilizes state-of-art cybersecurity devices and software to timely identify and prevent intrusion from external actors. &#160;The corporate information systems operations manager continuously monitors activity, and reports weekly to the CEO. &#160;Additional sources for assessing security effectiveness are annual outside audits of the information technology environment, risk and performance assessments provided by vendors of the routers and firewalls used by the Company and the news media.&#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>There have been no events in at least the last thirty years that have been considered material enough to warrant changes to systems, processes or controls.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Governance</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 Governance Committee of the Board of Directors maintains overall responsibility to oversee and assess the effectiveness of the Company&#8217;s cybersecurity strategy. &#160;The Board meets quarterly and any potential threats are reviewed and discussed at that time, unless the information systems team and/or the CEO decide earlier notification is warranted.&#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 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 9 years remaining on one section of its Midvale parking lot. As of the beginning of 2024, 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<span style="color:#00CCFF"> </span>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="a10"></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 Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company &#160;expects that the outcome of the Filshie clip litigation will not be material to overall consolidated financial results. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a11"></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="a12"></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="a13"></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 (stock 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">2023</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">2022</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">101.41</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">80.75</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">102.99</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">85.46</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">100.59</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">87.54</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">91.99</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">80.31</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">99.46</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">83.63</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.03</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">80.10</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">87.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">75.00</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">109.50</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">80.68</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 1, 2024 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:193.55pt"><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:193.6pt"><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:80.85pt"><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:193.55pt"><p style="font:10pt Times New Roman;margin:0">March 18, 2022</p>
</td><td valign="top" style="background-color:#CCEEFF;width:193.6pt"><p style="font:10pt Times New Roman;margin:0">April 5, 2022</p>
</td><td valign="top" style="background-color:#CCEEFF;width:80.85pt"><p style="font:10pt Times New Roman;margin:0">0.290</p>
</td></tr>
<tr style="height:1pt"><td valign="top" style="width:193.55pt"><p style="font:10pt Times New Roman;margin:0">June 17, 2022</p>
</td><td valign="top" style="width:193.6pt"><p style="font:10pt Times New Roman;margin:0">July 6, 2022</p>
</td><td valign="top" style="width:80.85pt"><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:193.55pt"><p style="font:10pt Times New Roman;margin:0">September 16, 2022</p>
</td><td valign="top" style="background-color:#CCEEFF;width:193.6pt"><p style="font:10pt Times New Roman;margin:0">October 5, 2022</p>
</td><td valign="top" style="background-color:#CCEEFF;width:80.85pt"><p style="font:10pt Times New Roman;margin:0">0.290</p>
</td></tr>
<tr style="height:1pt"><td valign="top" style="width:193.55pt"><p style="font:10pt Times New Roman;margin:0">December 16, 2022</p>
</td><td valign="top" style="width:193.6pt"><p style="font:10pt Times New Roman;margin:0">January 4, 2023</p>
</td><td valign="top" style="width:80.85pt"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:1pt"><td valign="top" style="width:193.55pt"><p style="font:10pt Times New Roman;margin:0">March 17, 2023</p>
</td><td valign="top" style="width:193.6pt"><p style="font:10pt Times New Roman;margin:0">April 4, 2023</p>
</td><td valign="top" style="width:80.85pt"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:1pt"><td valign="top" style="background-color:#CCEEFF;width:193.55pt"><p style="font:10pt Times New Roman;margin:0">June 16, 2023</p>
</td><td valign="top" style="background-color:#CCEEFF;width:193.6pt"><p style="font:10pt Times New Roman;margin:0">July 6, 2023</p>
</td><td valign="top" style="background-color:#CCEEFF;width:80.85pt"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:1pt"><td valign="top" style="width:193.55pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">September 15, 2023</p>
</td><td valign="top" style="width:193.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">October 3, 2023</p>
</td><td valign="top" style="width:80.85pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:1pt"><td valign="top" style="background-color:#CCEEFF;width:193.55pt;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:193.6pt;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:80.85pt;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:387.15pt"><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="width:80.85pt"><p style="font:10pt Times New Roman;margin:0">$ 0.870</p>
</td></tr>
<tr style="height:1pt"><td colspan="2" valign="top" style="background-color:#CCEEFF;width:387.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023 total cash dividends paid per share</p>
</td><td valign="top" style="background-color:#CCEEFF;width:80.85pt"><p style="font:10pt Times New Roman;margin:0">$ 1.180</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 did not purchase any of its own securities in 2023. &#160;UTMD purchased 30,105 shares of its common stock for $2,495 including commissions and fees in second quarter 2022. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a14"></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">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="a15"></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>In 2023, Utah Medical Products, Inc. (Nasdaq: UTMD) was able to achieve higher Net Income and Earnings Per Share (EPS) despite 4% lower consolidated total revenues caused by $3 million lower sales to its largest OEM customer. &#160;A lower Gross Profit Margin from less absorption of manufacturing overhead costs together with ongoing challenges related to supply chain disruption and higher input costs from inflation, together with higher litigation costs, resulted in Operating Income, although very respectable at 33.4% of sales, that was 15% lower than in the prior year. &#160;However, higher non-operating income together with a lower income tax provision rate offset the higher operating costs, allowing a UTMD record annual EPS of $4.57.&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:185.2pt;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.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">2023</span></p>
</td><td valign="top" style="width:106.6pt;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">2023 Compared to 2022</span></p>
</td><td valign="top" style="width:106.6pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:185.2pt;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.4pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">$ 50,224</p>
</td><td valign="top" style="background-color:#CCEEFF;width:106.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(3.9%)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:106.6pt;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></tr>
<tr><td valign="top" style="width:185.2pt;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.4pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;30,038</p>
</td><td valign="top" style="width:106.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(6.7%)</p>
</td><td valign="top" style="width:106.6pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:185.2pt;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.4pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;16,777</p>
</td><td valign="top" style="background-color:#CCEEFF;width:106.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(15.2%)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:106.6pt;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></tr>
<tr><td valign="top" style="width:185.2pt;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.4pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;20,089</p>
</td><td valign="top" style="width:106.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(2.8%)</p>
</td><td valign="top" style="width:106.6pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:185.2pt;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.4pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;16,635</p>
</td><td valign="top" style="background-color:#CCEEFF;width:106.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">+1.0%</p>
</td><td valign="top" style="background-color:#CCEEFF;width:106.6pt;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></tr>
<tr><td valign="top" style="width:185.2pt;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.4pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> $ 4.574</p>
</td><td valign="top" style="width:106.6pt;border:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">+1.2%</p>
</td><td valign="top" style="width:106.6pt;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></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>Changes in foreign currency exchange (FX) rates on sales and expenses, in contrast to recent prior years, did not have a significant impact on financial results in 2023. &#160;Using the prior year&#8217;s FX rates, annual outside the U.S. (OUS) foreign currency sales would have been 1% lower and OUS operating expenses 1% lower.&#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>Key profit margins (profits as a percentage of sales) in 2023 compared to 2022 follow:&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:225.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:126.75pt"><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:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:225.3pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit Margin (GPM)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">59.8%</p>
</td><td valign="top" style="background-color:#CCEEFF;width:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">61.6%</p>
</td></tr>
<tr><td valign="top" style="width:225.3pt"><p style="font:10pt Times New Roman;margin:0">Operating Income Margin</p>
</td><td valign="top" style="width:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">33.4%</p>
</td><td valign="top" style="width:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">37.9%</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:225.3pt;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:126.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">40.0%</p>
</td><td valign="top" style="background-color:#CCEEFF;width:126.75pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">39.5%</p>
</td></tr>
<tr><td valign="top" style="width:225.3pt"><p style="font:10pt Times New Roman;margin:0">Net Income Margin</p>
</td><td valign="top" style="width:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">33.1%</p>
</td><td valign="top" style="width:126.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">31.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">&#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 2023 compared to the end of 2022 with year-end working capital up 21% and Stockholders&#8217; Equity up 12% despite $4,282 in dividends paid to stockholders which reduced both cash and Stockholders&#8217; Equity. &#160;The improvement was the result of continued strong positive cash flow from normal operations. &#160;In comparison, UTMD paid $3,163 in stockholder cash dividends and used another $2,495 cash for share repurchases in 2022. &#160;The Company also used $639 in cash in 2023 along with $809 in 2022 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 $213. &#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">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"/><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 2023 total consolidated assets were $135,458 comprised of $106,269 in current assets, $10,551 in consolidated net PP&amp;E and $18,637 in net intangible assets. &#160;This compares to $123,874 total assets at the end of 2022 comprised of $89,919 in current assets, $10,224 in consolidated net PP&amp;E and $23,731 in net intangible assets. Total asset turns (total consolidated sales divided by average total assets for the year) in 2023 were 39% compared to 44% in 2022, as sales decreased while average assets (primarily cash) increased. &#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,350 due to the $17,817 increase in year-end cash and investments and $768 higher inventories, offset by $2,148 lower accounts and other receivables and $87 lower other current assets. Year-end 2023 and 2022 cash and investment balances were $92,869 and $75,052, representing 69% and 61% of total assets, respectively. &#160;Net (after allowance for doubtful accounts) year-end trade accounts receivable (A/R) balances were $2,148 lower at the end of 2023 compared to 2022 due to 4Q 2023 sales $1,242 lower than in 4Q 2022, and average days in A/R of 24 days based on 4Q trade sales instead of 37 days at the end of 2022. &#160;A/R over 90 days from invoice date declined from 4.2% of total A/R at the end of 2022 to 3.3% at the end of 2023. &#160;The Company believes any older A/R will be collected or are within its reserve balances for uncollectible amounts. &#160;Inventories net of reserves for obsolescence at 2023 year-end were 9% higher from 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>Working capital (current assets minus current liabilities) at year-end 2023 was 21% higher at $101,559 compared to $83,959 at year-end 2022. Consistent with Federal and State rules, the TCJA repatriation tax current liability at the end of 2023 was $558 compared to $419 at the end of 2022, as the payment percentage ramps up at the end of the payout period. The end of 2023 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 UTMD&#8217;s 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, 2023 net $10,552 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 2023 net consolidated PP&amp;E (depreciated book value of all fixed assets) increased $328 as a result of the combination of capital expenditures of $639, depreciation of $623 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:141.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:168.8pt"><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-23</span></p>
</td><td valign="top" style="width:168.8pt"><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-22</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:141.2pt"><p style="font:10pt Times New Roman;margin:0">EUR</p>
</td><td valign="top" style="background-color:#CCEEFF;width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right">1.1059</p>
</td><td valign="top" style="background-color:#CCEEFF;width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right">1.0694</p>
</td></tr>
<tr><td valign="top" style="width:141.2pt"><p style="font:10pt Times New Roman;margin:0">GBP</p>
</td><td valign="top" style="width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right">1.2739</p>
</td><td valign="top" style="width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right">1.2077</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:141.2pt"><p style="font:10pt Times New Roman;margin:0">AUD</p>
</td><td valign="top" style="background-color:#CCEEFF;width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right">0.6825</p>
</td><td valign="top" style="background-color:#CCEEFF;width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right">0.6805</p>
</td></tr>
<tr><td valign="top" style="width:141.2pt"><p style="font:10pt Times New Roman;margin:0">CAD</p>
</td><td valign="top" style="width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-113.4pt;text-align:right">0.7573</p>
</td><td valign="top" style="width:168.8pt"><p style="font:10pt Times New Roman;margin:0;margin-left:-180.9pt;text-align:right">0.7390</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 2023 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.8 in 2023 compared to 5.1 in 2022 due to 4% lower 2023 sales and higher USD asset values of foreign subsidiaries, together with investment in new PP&amp;E assets needed for the future which are not in use yet.  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 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">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"> &#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 $18,637 (14% of total assets) at the end of 2023 compared to $23,731 (19% of total assets) at the end of 2022. &#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 2023 were net IIA of $4,561 and goodwill of $6,500. The accumulated amortization of Femcare IIA as of December 31, 2023 since the March 18, 2011 acquisition was $26,088. The remaining Femcare IIA will be fully amortized in 2 more years. The goodwill portion of intangible assets resulting from the Femcare acquisition, which is not amortized, increased $338 due to a stronger 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, all of which has now been amortized through 2023. UTMD&#8217;s goodwill balance from prior acquisitions including Femcare, Columbia Medical, Gesco and Abcorp was $13,692 at the end of 2023.</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 2024. Amortization of IIA was $5,692 in 2023 compared to $6,417 in 2022. The difference was mainly due to the CSI IIA becoming fully-amortized in October 2023, resulting in $737 lower 2023 expense. The 2023 non-cash amortization expense of CSI IIA was $3,684 compared to $4,421 in 2022. &#160;The Femcare IIA amortization expense was the same in both 2023 and 2022 at &#163;1,589. &#160;But because of a difference in FX rates, the 2023 non-cash amortization expense of Femcare IIA was $1,977 compared to $1,965 in 2022. &#160;The 2024 non-cash amortization expense (included as part of consolidated G&amp;A operating expenses) of Femcare IIA will also be &#163;1,589, or $2,002 if the USD/GBP average FX rate is 1.26. &#160;In other words, UTMD expects the GBP to be stronger against the USD in 2024 than it was in 2023. &#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, 15% in the sixth year, and will be 20% in the seventh year and 25% in the eighth year. &#160;UTMD&#8217;s total REPAT tax liability was $2,792. Calendar year 2024 represents the seventh year, so $558 is the current liability at 20% of the total liability, and $698 is the long-term REPAT tax liability to be paid in 2025, representing the remaining 25%. &#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 2023 current liabilities were $1,250 lower than at the end of 2022. Ending accrued liabilities were $940 lower due primarily to $781 lower customer deposits. Total liabilities were $2,475 lower at the end of 2023 compared to the end of 2022. The resulting 2023 year-end total debt ratio was just 5% compared to 8% at the end of 2022. &#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 2023 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,120, down from $1,513 at the end of 2022. The difference in the $393 decline compared to the $494 tax effect of 25% (current UK tax rate) times $1,977 in 2023 amortization of IIA was due to the difference in the GBP FX rate on the remaining DTL balance at the end of 2023 as well as the USD/GBP currency exchange conversion of the IIA amortization during 2023. 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 2023, 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">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"><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 13% 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 2023 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 2023 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 2023 USD-denominated revenues by sales channel compared to 2022. &#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 2023 compared to 2022 reduced Canada domestic sales by 3.6% and Australia sales by 3.9%. On the other hand, the FX rate difference increased Ireland domestic sales by 3.0%, UK domestic sales by 1.2% and France domestic sales by 2.6%.&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:177.75pt"><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:99.05pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:102.9pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"><span style="border-bottom:1px solid #000000">2023 Compared to 2022</span></p>
</td><td valign="top" style="width:99.1pt"><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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:177.75pt;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:99.05pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">$19,758</p>
</td><td valign="top" style="background-color:#CCEEFF;width:102.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(6.3%)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.1pt;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></tr>
<tr><td valign="top" style="width:177.75pt;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:99.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,102</p>
</td><td valign="top" style="width:102.9pt;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">(14.8%)</p>
</td><td valign="top" style="width:99.1pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:177.75pt;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:99.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">508</p>
</td><td valign="top" style="background-color:#CCEEFF;width:102.9pt;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">+14.1%</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.1pt;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></tr>
<tr><td valign="top" style="width:177.75pt;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:99.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">3,320</p>
</td><td valign="top" style="width:102.9pt;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">+20.8%</p>
</td><td valign="top" style="width:99.1pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:177.75pt;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:99.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,318</p>
</td><td valign="top" style="background-color:#CCEEFF;width:102.9pt;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.8%</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.1pt;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></tr>
<tr><td valign="top" style="width:177.75pt;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:99.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,050</span></p>
</td><td valign="top" style="width:102.9pt;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">(17.2%)</span></p>
</td><td valign="top" style="width:99.1pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:177.75pt;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:99.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">$27,056</p>
</td><td valign="top" style="background-color:#CCEEFF;width:102.9pt;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">(3.6%)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.1pt;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></tr>
<tr><td valign="top" style="width:177.75pt;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:99.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:102.9pt;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:99.1pt;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:177.75pt;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:99.05pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">14,722</p>
</td><td valign="top" style="background-color:#CCEEFF;width:102.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">+10.5%</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.1pt;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></tr>
<tr><td valign="top" style="width:177.75pt;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:99.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">8,446</span></p>
</td><td valign="top" style="width:102.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">(22.4%)</span></p>
</td><td valign="top" style="width:99.1pt;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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:177.75pt;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:99.05pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">$50,224</p>
</td><td valign="top" style="background-color:#CCEEFF;width:102.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(3.9%)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.1pt;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></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 2023 at $50,224 were $2,057 (4%) lower than in 2022 at $52,281. The decline essentially resulted from the fact that 2023 WW shipments by UTMD to its largest OEM customer were $2,925 (25%) lower.  Total U.S. domestic sales including OEM were $3,767 (11.8%) lower in 2023 at $28,204 compared to $31,971 in 2022. On the other hand, OUS sales including sales to foreign distributors were up $1,710 (+8.4%) at $22,020 compared to $20,310 in 2022. &#160;Constant currency OUS sales were up 7.6%. &#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>Domestic U.S. sales in 2023, which were $3,767 (11.8%) lower than in 2022, were $28,204 (56.2% of total sales) compared to $31,971 (61.2% of total sales) in 2022. All three categories of domestic sales were lower, led by U.S. OEM sales which were $2,438 (22.4%) lower than in 2022. &#160;Domestic sales to UTMD&#8217;s biopharma OEM customer were $2,581 (28.7%) lower. Aggregate sales to 128 other U.S. OEM customers were $143 higher. Domestic Filshie device sales, representing 17% of total domestic sales, were $470 (9.0%) lower in 2023 compared to 2022.&#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:9pt"></kbd>Direct device sales other than Filshie, representing 53% of total domestic sales, were $859 (5.4%) lower in 2023 than in 2022. In this category, domestic neonatal device sales alone were $866 lower, predominantly in 2Q 2023 as a result of continued raw materials and sterilization supply chain disruption. The nature of NICU sales is low volume, specialized configuration devices for which hospitals need quick delivery based on their changing patient needs. If preferred devices are unavailable for quick delivery, a hospital NICU must find a substitute to meet immediate needs, and those sales are lost to UTMD. &#160;This is what happened especially in early 2023 when UTMD could not obtain medical grade silicone from a validated supplier, and twice in 2023 when its contract sterilizer had to shut down its operations. UTMD expects 2024 domestic direct sales of its well-established devices to increase at a low single-digit percentage rate. &#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>Filshie sales have not recovered as well as the other domestic sales categories since the COVID-19 pandemic. There appears to be some negative impact on patient choice as a result of attorneys advertising on social media. Nevertheless, UTMD expects U.S. Filshie device sales in 2024 will remain about the same as in 2023 based on surgeons&#8217; understanding of the safety and effectiveness of the device.&#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 2023 were 30% of total U.S. domestic sales compared to 34% in 2022. &#160;UTMD sold components and finished devices to 129 different U.S. companies in 2023 compared to 146 different companies in 2022, for use in their product-market offerings. &#160;Sales to UTMD&#8217;s largest domestic OEM customer represented 76% of total domestic OEM sales in 2023 compared to 83% of total domestic OEM sales in 2022. UTMD&#8217;s largest OEM customer markets biopharmaceutical manufacturing control systems which previously exclusively utilized UTMD&#8217;s pressure monitoring sensors and other components. &#160;But in 2023, domestic sales to this customer declined $2.6 million domestically. Looking forward to 2024, UTMD expects domestic demand from this customer may decline another $3.7 million as it seeks to vertically integrate manufacturing of its products. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">   OUS USD-denominated sales in 2023 were $1,710 (+8.4%) higher at $22,020 compared to $20,310 in 2022. OUS sales in all product categories were higher. &#160;Sales invoiced in foreign currencies, which were $14,871 when converted to USD, represented 68% of OUS sales and 30% of consolidated total sales. A net slightly weaker USD added $166 in OUS foreign currency sales compared to constant currency terms. &#160;FX rates for income statement purposes are transaction-weighted averages. The weighted-average FX rates from the applicable foreign currency to USD during 2023 and 2022 for revenue purposes follow:</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">2023</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">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></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.2428</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.2287</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.2%</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.0808</p>
</td><td valign="top" style="width:16.74%"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.0520</p>
</td><td valign="top" style="width:16.74%"><p style="font:10pt Times New Roman;margin:0;text-align:center">+2.7%</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.6660</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.6932</p>
</td><td valign="top" style="background-color:#CCEEFF;width:16.74%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(3.9%)</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.7409</p>
</td><td valign="top" style="width:16.74%"><p style="font:10pt Times New Roman;margin:0;text-align:center">0.7683</p>
</td><td valign="top" style="width:16.74%"><p style="font:10pt Times New Roman;margin:0;text-align:center"> (3.6%)</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 combined weighted-average favorable FX impact on 2023 foreign currency OUS sales was 1.1%, increasing reported USD sales by $166 (+0.3% of total consolidated 2023 sales) relative to the same foreign currency sales in 2022. &#160;In constant currency terms, OUS sales in 2023 were 7.6% higher than OUS sales in 2022. The portion of OUS sales invoiced in foreign currencies in USD terms was 30% of total consolidated 2023 USD sales compared to 25% in 2022. Including the impact of changed FX rates, OUS 2023 direct to end-user sales in USD terms were 14% higher in Ireland, 15% lower in Canada, 7% higher in France and 21% higher in the UK. Direct to end-user sales in Australia, which included New Zealand, were 17% lower. USD denominated sales to OUS distributors were 11% higher in 2023 than in 2022.&#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-eight percent of (USD denominated) 2023 OUS sales were invoiced in foreign currencies compared to 64% in 2022. As a portion of total USD WW consolidated sales, 30% of UTMD&#8217;s USD-equivalent sales were invoiced in foreign currencies in 2023 compared to 25% in 2022. The GBP, EUR, AUD and CAD converted sales represented 8%, 18%, 2% and 2% of total 2023 USD sales, respectively. &#160;This compares to 6%, 14%, 2% and 3% of total 2022 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 $10,686 in 2023 (13% higher) compared to $9,478 in 2022. &#160;In addition, UTMD Ltd also sold devices that it had manufactured directly to France in 2023 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 2023 were $1,319 (7% higher) compared to $1,235 in 2022. &#160;&#160;The total FX rate difference in 2023 relative to 2022 increased Ireland&#8217;s USD-denominated sales by $244. &#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 2023, UTMD&#8217;s UK subsidiary, Femcare Ltd., had $3,347 trade sales of devices to domestic UK and certain international distributor customers, which was 20% higher compared to $2,781 in 2022. The total FX rate change increased the UK&#8217;s USD-denominated sales in 2023 by $10. &#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">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>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,050 (17% lower) in 2023 compared to $1,267 in 2022. &#160;A weaker AUD in 2023 reduced USD-denominated Australia sales by $46. &#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,102 (15% lower) compared to $1,294 in 2022. A weaker CAD reduced Canada sales by $43. &#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  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:49.98%;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">2023</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">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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:49.98%;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,592</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,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></tr>
<tr><td valign="top" style="width:49.98%;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">22,300</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">44</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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:49.98%;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">6,863</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">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></tr>
<tr><td valign="top" style="width:49.98%;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">16,469</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">33</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">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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:49.98%;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">$50,224</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">$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></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:49.98%;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">2023</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">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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:49.98%;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;1,041</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;5</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></tr>
<tr><td valign="top" style="width:49.98%;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,992</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">54</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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:49.98%;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,678</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,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></tr>
<tr><td valign="top" style="width:49.98%;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">7,309</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">33</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">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></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:49.98%;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">$ 22,020</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">$ 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></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 2024, UTMD&#8217;s largest OEM customer representing $8.6 million in 2023 WW consolidated revenues, including 76% of $8,446 total U.S. OEM sales and 22% of Ireland&#8217;s $10,178 international distributor sales, has not provided visibility for demand for the last half of 2024, despite knowledge of significant lead times required for UTMD to obtain necessary custom raw materials. Consequently, UTMD management is conservatively projecting another $5.5 million reduction in annual sales to this OEM customer in 2024. Worst case would be a $6.5 million decline if no more orders were placed in 2024. &#160;In addition, UTMD&#8217;s largest OUS distributor, located in China, representing $4.0 million 2023 sales of BPM kits manufactured in Ireland, has placed an annual order for 2024 which is $1.6 million lower than in 2023. &#160;On the basis of these two largest 2023 customers, if net other revenues are flat, 2024 revenues would be about $7.1 million lower than in 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>Another key to 2024 sales results will be retaining U.S. Filshie device sales at a similar level as in 2023 with the continuing cloud of unresolved product liability lawsuits. UTMD prefers to not raise prices in 2024, given cost pressures on U.S. hospitals which are dealing with open U.S. immigration. &#160;In summary, with a higher level of uncertainty than in the recent past, management&#8217;s best estimate at this time is that 2024 consolidated WW revenues may be in the range of $42 to $43 million, a 14-16% decline. This projection does not include UTMD&#8217;s potential success in entering the biopharmaceutical manufacturing controls market directly, or 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">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;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 2023 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 $30,038 (59.8% of sales) compared to $32,196 (61.6% of sales) in 2022.  GP in 2023 was $2,158 (6.7%) lower with a 3.9% decrease 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, although still very heathy, contracted 1.4 percentage points in 2023 due to the fact manufacturing overhead costs increased while sales decreased. &#160;This overhead dilution effect will continue in 2024, as happened during the COVID-19 pandemic in 2020 when sales declined, because management has decided to not reduce important manufacturing overhead resources in the same proportion as the expected decline in sales. Doing so would sacrifice future UTMD capabilities to grow the Company. UTMD generally did not increase prices after February 2023, except on a specific case-by-case basis for custom OEM work. Although supplier costs for raw materials have continued to increase while the Company also implemented further cost-of-living salary adjustments during 2023 for direct labor employees, management expects to be able to control the productivity of variable manufacturing costs in 2024 consistent with the past after severance is paid for some employees. &#160;In addition, quality assurance costs included in manufacturing overhead are projected to be substantially higher from implementing required clinical reviews under the new Medical Device Regulation for devices used OUS. The resulting 2024 GPM might be five percentage points lower than in 2023, resulting in a decline in GP in the range of 20-23%.&#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) 2023 GP was EUR 8,084 compared to EUR 8,538 in 2022. The associated GPMs were 58.9% in 2023 and 60.0% in 2022.  Femcare UK 2023 GP was GBP 1,579 compared to GBP 1,297 in 2022. The 2023 UK GPM was 55.3% compared to 52.0% in 2022. A substantial increase in UK Filshie device sales diluted UK manufacturing overhead expense, 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 2023 GP was AUD 841 (53.0% of sales) compared to AUD 940 (51.4% of sales) in 2022. Canada 2023 GP was CAD 874 (58.6% of sales) compared to CAD 870 (51.7% of sales) in 2022. In the U.S., GP was $17,750 in 2023 compared to $20,699 in 2022. The U.S. GPM was 51.2% in 2023 compared to 54.8% in 2022.  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;&#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">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. For the year 2023, Operating Income was $16,777 compared to $19,790 in 2022, a 15.2% decrease. The $3,012 decrease in Operating Income was from a combination of $2,158 lower GP and $854 higher Operating Expenses. &#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 2023 was 55.9% compared to 57.2% in 2022. &#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 2023 and 2022. &#160;Femcare Australia&#8217;s 2023 Operating Income margin was 32.2% compared to 30.9% in 2022. &#160;Femcare Canada&#8217;s 2023 Operating Income margin was 41.8% compared to 37.3% in 2022. UTMD&#8217;s 2023 Operating Income margin in the U.S. was 23.5% compared to 31.2% in 2022. &#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 $13,261 (26.4% of sales) in 2023 compared to $12,407 (23.7% of sales) in 2022. 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:232.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:117.7pt"><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:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td colspan="2" valign="top" style="background-color:#CCEEFF;width:232.6pt"><p style="font:10pt Times New Roman;margin:0">S&amp;M expenses</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;1,685</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;1,507</p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:232.6pt"><p style="font:10pt Times New Roman;margin:0">R&amp;D expenses</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">560</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">493</p>
</td></tr>
<tr><td colspan="2" valign="top" style="background-color:#CCEEFF;width:232.6pt"><p style="font:10pt Times New Roman;margin:0">G&amp;A expenses:</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:207.7pt"><p style="font:10pt Times New Roman;margin:0">a) litigation expense provision</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,660</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">670</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:207.7pt"><p style="font:10pt Times New Roman;margin:0">b) corporate legal</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">4</p>
</td></tr>
<tr><td valign="top" style="width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:207.7pt"><p style="font:10pt Times New Roman;margin:0">c) outside directors fees</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">144</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">131</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:207.7pt"><p style="font:10pt Times New Roman;margin:0">d) stock option compensation</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">225</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">183</p>
</td></tr>
<tr><td valign="top" style="width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:207.7pt"><p style="font:10pt Times New Roman;margin:0">e) profit-sharing bonus accrual</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">718</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">746</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:207.7pt"><p style="font:10pt Times New Roman;margin:0">f) outside accounting audit/tax</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">224</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">188</p>
</td></tr>
<tr><td valign="top" style="width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:207.7pt"><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:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,977</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,965</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:207.7pt"><p style="font:10pt Times New Roman;margin:0">h) CSI IIA amortization</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,684</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,421</p>
</td></tr>
<tr><td valign="top" style="width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:207.7pt"><p style="font:10pt Times New Roman;margin:0">i) &#160;property &amp; liability insurance premiums</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">108</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">101</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:24.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:207.7pt"><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:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2,263</span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">1,998</span></p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:232.6pt"><p style="font:10pt Times New Roman;margin:0">G&amp;A expenses &#8211;&#160;total</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:3px double #000000">11,016</span></p>
</td><td valign="top" style="width:117.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></tr>
<tr><td colspan="2" valign="top" style="background-color:#CCEEFF;width:232.6pt"><p style="font:10pt Times New Roman;margin:0">Total Consolidated Operating Expense:</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;13,261</p>
</td><td valign="top" style="background-color:#CCEEFF;width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;12,407</p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:232.6pt"><p style="font:10pt Times New Roman;margin:0">Percent of sales:</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">26.4%</p>
</td><td valign="top" style="width:117.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">23.7%</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 2023 were $1,685 (3.4% of sales) compared to $1,507 (2.9% of sales) in 2022.  The higher expenses were primarily due to higher salaries from cost-of-living adjustments. Consolidated OUS S&amp;M expenses in 2023 compared to 2022 were not affected by FX rate changes as stronger EUR and GBP currency expenses were offset by weaker CAD and AUD expenses. &#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 2022-2023 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">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"><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 2023 were $560 (1.1% of sales) compared to $493 (0.9% of sales) in 2022.  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 increased as a result of cost-of-living adjustments. R&amp;D also played a significant role in manufacturing process improvements. No new UTMD devices were launched in 2023. &#160;Due to stringent materials validation requirements for the biopharmaceutical manufacturing industry, UTMD projects R&amp;D expenses in 2024 will be more than 40% higher than in 2023 and represent approximately 2% of revenues. &#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 2023 were $11,016 (21.9% of sales) compared to $10,407 (19.9% of sales) in 2022. 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 due to $990 higher U.S. litigation costs, as well as higher salaries (except the CEO) due to cost-of-living adjustments. &#160;Stronger EUR and GBP relative to the USD increased net foreign currency G&amp;A expenses by $30, compared to what they would have been in 2022. &#160;This includes an FX rate change unfavorable USD impact of $24 (out of the $30 total) from the amortization of Femcare acquisition IIA, which was &#163;1,589 in both 2023 and 2022. &#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. The combined IIA amortization expense in 2023 was 11.3% of total WW consolidated sales ($5,661) compared to 12.2% in 2022 ($6,386). &#160;The decline in percent of sales was due to the completion of the CSI IIA amortization expense in October 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>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.&#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 $7,599 (15.1% of sales) in 2023 compared to $6,021 (11.5% of sales) in 2022. &#160;The difference was mainly due to $990 higher litigation expenses. &#160;Without the IIA amortization and litigation expenses, UTMD consolidated operating expenses were $5,940 (11.8% of sales) in 2023 compared to $5,351 (10.2% of sales) 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>As none of the U.S. Filshie product liability lawsuits has gone to trial yet, and UTMD&#8217;s summary judgement motions remain undecided, projecting 2024 litigation expenses remains difficult if not impossible. &#160;With that said, for purposes of creating a conservative operating plan, management is projecting $2,432 in 2024 litigation expenses compared to $1,660 in 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>In summary, with lower revenues, a lower GPM, higher litigation and R&amp;D expenses, offset by the lack of amortization expense of CSI identifiable intangible assets completed in 2023, management projects 2024 Operating Income 24-27% lower than in 2023.&#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">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>Net non-operating income (combination of non-operating income and non-operating expense) was $3,312 in 2023 and $869 in 2022. The higher non-operating income in 2023 compared to 2022 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 2023 or 2022. &#160;Absent an acquisition or large repurchase of shares that requires new borrowing, UTMD does not expect any interest expense in 2024.<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 $3,036 in 2023 compared to $661 in 2022. Average cash balances were almost $16 million higher in 2023 than in 2022, with average interest rates higher. UTMD is projecting current interest rates to continue in 2024, leading to another substantial increase in non-operating income if cash is not used to repurchase shares at an attractive price, or acquire another entity or product line. Although UTMD has been repurchasing shares during 1Q 2024, for purposes of providing an estimate of 2024 financial results, management has included $1,000 higher interest income in 2024 compared to 2023. <br/></p>
<p style="font:10pt Times New Roman;margin:0;margin-left:45.35pt">3) &#160;Royalties. &#160;Royalties in both 2023 and 2022 were $20. 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 $5 loss in 2023 compared to a $20 loss in 2022 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 $254 in 2023 compared to a net non-operating income of $196 in 2022. </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 to or subtracting net non-operating expense from Operating Income. Consolidated EBT was $20,089 (40.0% of sales) in 2023 compared to $20,659 (39.5% of sales) in 2022. &#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 3.9% lower sales, yielding just a 2.8% decrease in EBT. In essence, in 2023 higher non-operating income offset lower gross profits from a lower GPM on lower sales and higher litigation expenses. &#160;With much uncertainty surrounding the projections for income and expense categories above, management is estimating about a 16% decline in 2024 EBT compared to 2023.&#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 2023 EBT of UTMD Ltd. (Ireland) was &#8364;7,680 (56.0% of sales) compared to &#8364;8,013 (56.3% of sales) in 2022. &#160;Femcare Ltd&#8217;s (UK) 2023 EBT was (&#163;469) compared to (&#163;574) in 2022.  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 2023 EBT was AUD 544 (34.3% of sales) compared to AUD 573 (31.3% of sales) in 2022. Femcare Canada&#8217;s 2023 EBT was CAD 620 (41.6% of sales) compared to CAD 622 (36.9% of sales) 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:7.2pt"></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:273.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:105.65pt"><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:99.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:273.8pt"><p style="font:10pt Times New Roman;margin:0">EBT</p>
</td><td valign="top" style="background-color:#CCEEFF;width:105.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$20,089</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$20,659</p>
</td></tr>
<tr><td valign="top" style="width:273.8pt"><p style="font:10pt Times New Roman;margin:0">Depreciation Expense</p>
</td><td valign="top" style="width:105.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">623</p>
</td><td valign="top" style="width:99.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">612</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:273.8pt"><p style="font:10pt Times New Roman;margin:0">Femcare IIA Amortization Expense</p>
</td><td valign="top" style="background-color:#CCEEFF;width:105.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,977</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,965</p>
</td></tr>
<tr><td valign="top" style="width:273.8pt"><p style="font:10pt Times New Roman;margin:0">CSI IIA Amortization Expense</p>
</td><td valign="top" style="width:105.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,684</p>
</td><td valign="top" style="width:99.35pt"><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:273.8pt"><p style="font:10pt Times New Roman;margin:0">Other Non-Cash Amortization Expense</p>
</td><td valign="top" style="background-color:#CCEEFF;width:105.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">31</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">31</p>
</td></tr>
<tr><td valign="top" style="width:273.8pt"><p style="font:10pt Times New Roman;margin:0">Stock Option Compensation Expense</p>
</td><td valign="top" style="width:105.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">225</p>
</td><td valign="top" style="width:99.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">183</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:273.8pt;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:105.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td valign="top" style="background-color:#CCEEFF;width:99.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">20</p>
</td></tr>
<tr><td valign="top" style="width:273.8pt;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:105.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">$26,635</p>
</td><td valign="top" style="width:99.35pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">$27,891</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 2023 non-US GAAP EBITDA declined 4.5% compared to 2022. &#160;With the above projections for 2024 financial performance in mind, non-US GAAP EBITDA in 2024 is expected to be in the range of $19-20 million.&#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 Net Income in 2023 was $16,635 (33.1% of sales) compared to $16,473 (31.5% of sales) in 2022. The higher Net Income, despite 2.8% lower EBT, resulted from a lower income tax provision rate, which was 17.2% in 2023 compared to 20.3% in 2022. The primary reason for the lower rate was due to a portion of UTMD&#8217;s significant interest income being non-taxable. &#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>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 estimates, barring any new tax law changes which are currently unknown, and assuming cash will be allocated as previously invested, that its combined income tax rate for 2024 will be within the 18%-19% range, yielding Net Income approximately 17% lower than in 2023. &#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 2022 and 1Q 2023, followed by a 25% rate for the last nine months of 2023. &#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 2023 and 2022. The income tax rate for Canada was about 27.5% 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 special 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 2017 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;Diluted EPS in year 2023 were $4.574 compared to $4.522 in 2022, a 1.2% increase. The increase in EPS was in contrast to a decrease in Operating Income as a result of the 2023 net non-operating income and a stock buy-back in 2Q 2022. Diluted shares were 3,637,071 for the year 2023 compared to 3,643,256 in 2022. Dilution for &#8220;in the money&#8221; unexercised options for the year 2023 was 8,303 shares compared to 5,934 shares in 2022. Actual outstanding common shares as of December 31, 2023 were 3,629,525. The 2023 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">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"> &#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>Achieving 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. UTMD&#8217;s high Net Income margin is the primary factor that continues to drive its ROE, with low financial leverage and decreasing asset productivity as cash balances rapidly grow. Cash dividends to stockholders and repurchase of shares, on the other hand, help in lowering average Stockholders&#8217; Equity, reducing the denominator in calculating ROE.  Building cash balances that increase Stockholders&#8217; Equity, without proportionately increasing Net Income, reduces ROE. UTMD&#8217;s 2023 ROE before stockholder dividends was 13.7%. &#160;In comparison, 2022 ROE was 14.9%. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>The lower 2023 ROE compared to 2022 was the result of 1.0% higher Net Income coupled with 9.6% higher average Stockholders&#8217; Equity. Average Stockholders&#8217; Equity was $121,284 in 2023 compared to $110,696 in 2022. &#160;UTMD&#8217;s Stockholders&#8217; Equity has more than doubled over the last eleven years to $128 million at the end of 2023, despite being reduced by $50 million in dividends plus $16 million in share repurchases over that same period of time. UTMD&#8217;s average ROE over the last 31 years was 24%.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Looking forward to 2024, it will obviously be a rebuilding year as it appears likely that revenues from UTMD&#8217;s two previous largest customers are likely to be at least $7 million lower. If so, this will pressure UTMD&#8217;s GPM as much as five percentage points lower as a result of less absorption of fixed manufacturing overheads which are important resources to retain for the future. &#160;In addition, although impossible to predict reliably, litigation expenses may be another $1 million higher than in 2023 given the slowness of the U.S. judicial system, particularly if some cases eventually go to trial. &#160;Offsetting those negative impacts on financial performance, non-cash CSI IIA amortization expense will be $3.6 million lower than in 2023 and non-operating income from cash balances may be as much as $1 million higher, assuming that a substantial new investment or stock buy-back is <span style="border-bottom:1px solid #000000">not</span> implemented to increase long-term stockholder value. &#160;Although with a high level of uncertainty, management is estimating that UTMD consolidated revenues and net income in 2024 will be about 15% lower and 17% lower, respectively. &#160;Despite a difficult year in comparison to the recent past, the Company expects to continue to operate at a high level in terms of profitability and positive cash generation. &#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 2023 totaled $22,281 compared to $21,147 in 2022. &#160;Net Income at $162 higher in 2023 compared to 2022 allowed net cash provided by operating activities in 2023, 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 $1,134 higher than in 2022. Along with higher Net Income, working capital changes help fund operating activities. Accounts receivable had a $2,780 lower use of cash as a result of decreasing trade accounts receivable (A/R) $2,270 instead of the $511 increase in 2022, and inventories had a $1,683 lower use of cash with just a $670 increase in 2023 compared to a $2,353 increase in 2022 (second order derivatives). &#160;On the other hand, uses of cash included 1) a $1,422 decline in 2023 year-ending accrued expenses instead of a $252 increase at year-end 2022, 2) $714 lower depreciation and amortization in 2023 compared to 2022 and 3) a $293 greater decline in deferred income taxes. &#160;The inventory increase was a hedge against continued supply chain disruption. &#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 2023 UTMD used $639 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 $809 in 2022. Capital expenditures in 2023 exceeded depreciation by $16.&#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 2023 UTMD received $117 and issued 1,758 shares of stock upon the exercise of employee stock options. Option exercises in 2023 were at an average price of $66.40 per share. The Company received a $12 tax benefit from option exercises in 2023. UTMD did not repurchase shares of its stock in the open market during 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>In comparison, 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>UTMD did not borrow in the years 2023 and 2022. &#160;Cash dividends paid to stockholders were $4,282 in 2023 compared to $3,162 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>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 2024 capital expenditures for ongoing operations are expected to be less than 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">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>Management plans to opportunistically 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 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.  In 2024, UTMD plans to &#160;</p>
<p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;1) &#160;exploit its pre-qualified status to introduce a line of high-pressure process control transducer configurations directly to biopharmaceutical manufacturers; &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>2) &#160;continue to leverage OUS distribution and manufacturing synergies by further integrating capabilities and resources in multinational operations;&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>3) &#160;focus on defending the proven safety and effectiveness 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 despite a contraction in revenues;</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 economic conditions 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; $4,282 (26% of Net Income) in 2023 compared to $5,658 (34% of Net Income) in 2022 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 2023, the value of UTMD&#8217;s stock declined 16%, ending the year at $84.22/ share, while $1.18 in cash dividends/ share were paid to stockholders. The DJIA, S&amp;P 500 and NASDAQ Composite (where UTMD is traded) indices were all higher in 2023, respectively by 14%, 24% and 43%. &#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 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%.</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 25 years was 11% 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 11.8% over the last 25 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">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: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, 2023: &#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">2024</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">2025-2026</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">2027-2028</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">2029 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">381</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">57</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">97</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">130</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,152</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,152</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">-</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">$ 4,533</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,209</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;97</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;130</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&#160;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">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"/><a id="a16"></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 .9042, .9351 and .8790 EUR per USD as of December 31, 2023, 2022 and 2021, respectively. &#160;Exchange rates were .7850, .8280 and .7388 GBP per USD as of December 31, 2023, 2022 and 2021, respectively. Exchange rates were 1.4652, 1.4695 and 1.3759 AUD per USD on December 31, 2023, 2022 and 2021, respectively. Exchange rates were 1.3204, 1.3532 and 1.2656 CAD per USD on December 31, 2023, 2022, and 2021, 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="a17"></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">34</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>
</td><td valign="top" style="background-color:#CCEEFF;width:15.72%"><p style="font:10pt Times New Roman;margin:0;text-align:center">35</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>
</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">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">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><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">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 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">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 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">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">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">41</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">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;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&#160;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 ("GAAP"). 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&#160;31, 2023. 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&#160;31, 2023. </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">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"/><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, 2023 and 2022, and the related statements of income and comprehensive income, stockholders&#8217; equity, and cash flows for each of the years in the three-year period ended December 31, 2023, 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, 2023 and 2022, and the results of its operations and its cash flows for each of the years in the three-year period ended December 31, 2023, 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 $20,479,014 and $23,055,729 as of December 31, 2023, and 2022, respectively and total revenues of $4,581,877, $4,333,431 and $4,419,000 for the years ended December 31, 2023, 2022 and 2021, 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 subsidiaries. The Company or one of its 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="Y23" escape="true" id="ixv-10379">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="Y23" escape="true" id="ixv-10380">Salt Lake City, Utah</ix:nonNumeric> </p>
<p style="font:10pt Times New Roman;margin:0;margin-right:-22.5pt;text-align:justify">March 25, 2024</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="Y23" escape="true" id="ixv-10381">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">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-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, 2023 and 2022, and the related consolidated statements of income, comprehensive income, stockholders&#8217; equity, and cash flows for each of the years in the two-year period ended December 31, 2023, 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, 2023 and 2022, and the results of its operations and its cash flows for each of the years in the two-year period ended December 31, 2023, 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 2023.</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 2023.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><img src="utmd10k_1.jpg" style="width:183.75pt;height:33pt;visibility:visible" alt="Picture"/>&#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">25 March, 2024</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;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, 2023 AND 2022</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 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">2023</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">2022</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10382">92,868</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10383">75,052</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10384">3,391</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10385">5,538</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10386">9,582</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10387">8,814</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10388">428</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10389">515</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10390">106,269</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10391">89,919</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10392">10,551</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10393">10,224</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10394">13,692</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10395">13,354</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10396">54,296</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10397">52,755</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10398">49,350</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10399">42,378</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10400">4,946</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10401">10,377</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10402">135,458</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10403">123,874</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10404">769</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10405">1,218</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10406">3,941</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10407">4,742</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10408">4,710</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10409">5,960</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10410">295</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10411">341</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10412">698</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10413">1,256</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10414">1,120</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10415">1,514</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10416">322</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10417">549</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10418">7,145</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10419">9,620</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="E23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10420">-</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="E22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10421">-</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="E23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10422"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="E22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10423">0.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10424"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="E22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10425">50,000</ix:nonFraction></ix:nonFraction> shares authorized, issued <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10426"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10427">3,630</ix:nonFraction></ix:nonFraction> shares in 2023 and <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="E22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10428"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10429">3,628</ix:nonFraction></ix:nonFraction> shares in 2022</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10430">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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10431">36</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="E23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10432">10,658</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="E22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10433">12,039</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10434">594</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10435">251</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10436">138,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:RetainedEarningsAccumulatedDeficit" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10437">126,006</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10438">128,313</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10439">114,254</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10440">135,458</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10441">123,874</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">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: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, 2023, 2022 AND 2021</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 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">2023</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">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: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">2021</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10442">50,224</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10443">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10444">49,054</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10445">20,186</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10446">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10447">18,137</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10448">30,038</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10449">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10450">30,917</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10451">1,685</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10452">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10453">1,414</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10454">560</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10455">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10456">526</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10457">11,016</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10458">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10459">10,097</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10460">16,777</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10461">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10462">18,880</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10463">3,036</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10464">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10465">166</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10466">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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10467">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10468">15</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10469">256</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10470">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10471">-</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10472">20,089</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10473">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10474">19,061</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10475">3,454</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10476">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10477">4,273</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10478">16,635</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10479">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10480">14,788</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="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10481">4.58</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="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10482">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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10483">4.05</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="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10484">4.57</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="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10485">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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10486">4.04</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="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-10487"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-10488"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" contextRef="Y21" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-10489">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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10490">1,381</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="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10491">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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10492">773</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10493">18,016</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10494">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10495">14,015</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">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="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 CASH FLOW 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, 2023, 2022 AND 2021</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)</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:473.85pt;padding-left:5.75pt;padding-right:5.75pt"/><td valign="bottom" style="width:81.45pt;padding-left:5.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:239.3pt;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">2023</p>
</td><td valign="bottom" style="width:81.6pt;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:239.3pt;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:81.6pt;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:215.15pt;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:12.75pt"><td valign="bottom" style="width:473.85pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash flows from operating activities:</span></p>
</td><td valign="bottom" style="width:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10496">16,635</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10497">16,473</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10498">14,788</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10499">623</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10500">612</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10501">636</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10502">5,692</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10503">6,417</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10504">6,645</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10505">33</ix:nonFraction>)</p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10506">30</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10507">24</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10508">53</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10509">53</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10510">3</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;padding-left:5.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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10511">693</ix:nonFraction>)</p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10512">401</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10513">92</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;padding-left:5.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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10514">225</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10515">183</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10516">166</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;padding-left:5.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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10517">12</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10518">6</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10519">39</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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:81.45pt;padding-left:5.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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10520">2,270</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10521">511</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10522">1,088</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10523">-</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10524">14</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10525">42</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10526">670</ix:nonFraction>)</p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10527">2,353</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10528">485</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10529">45</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10530">64</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10531">81</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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:81.45pt;padding-left:5.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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10532">456</ix:nonFraction>)</p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10533">464</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10534">23</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10535">1,422</ix:nonFraction>)</p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10536">252</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10537">713</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10538">22,281</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10539">21,147</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10540">21,203</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;padding-left:5.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.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash flows from investing activities:</span></p>
</td><td valign="bottom" style="width:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10541">639</ix:nonFraction>)</p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10542">809</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10543">552</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10544">-</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10545">9</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10546">-</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10547">639</ix:nonFraction>)</p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10548">818</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10549">552</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;padding-left:5.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.45pt;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="background-color:#CCEEFF;width:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash flows from financing activities:</span></p>
</td><td valign="bottom" style="width:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10550">117</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10551">174</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10552">560</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10553">-</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10554">2,495</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10555">-</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10556">4,282</ix:nonFraction>)</p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10557">3,163</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10558">11,465</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10559">4,165</ix:nonFraction>)</p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10560">5,484</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10561">10,905</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;padding-left:5.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.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10562">339</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10563">767</ix:nonFraction>)</p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10564">362</ix:nonFraction>)</p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10565">17,816</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10566">14,078</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10567">9,384</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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="width:81.45pt;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:239.3pt;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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10568">75,052</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10569">60,974</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10570">51,590</ix:nonFraction></p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10571">92,868</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10572">75,052</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10573">60,974</ix:nonFraction></p>
</td></tr>
<tr style="height:13.5pt"><td valign="bottom" style="width:473.85pt;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.45pt;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:239.3pt;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:81.6pt;padding-left:5.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:239.3pt;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="width:81.6pt;padding-left:5.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:215.15pt;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="background-color:#CCEEFF;width:473.85pt;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="background-color:#CCEEFF;width:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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 year for income taxes</p>
</td><td valign="bottom" style="width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10574">4,827</ix:nonFraction></p>
</td><td valign="bottom" style="width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10575">4,970</ix:nonFraction></p>
</td><td valign="top" style="width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10576">4,617</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="background-color:#CCEEFF;width:473.85pt;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 year for interest</p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.45pt;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:239.3pt;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="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10577">-</ix:nonFraction></p>
</td><td valign="bottom" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:239.3pt;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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10578">-</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:81.6pt;padding-left:5.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:215.15pt;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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10579">-</ix:nonFraction></p>
</td></tr>
<tr style="height:12.75pt"><td valign="bottom" style="width:473.85pt;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:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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:473.85pt;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:81.45pt;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:239.3pt;padding-left:5.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.6pt;padding-left:5.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:239.3pt;padding-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:81.6pt;padding-left:5.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:215.15pt;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">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">&#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, 2023, 2022 AND 2021</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 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, 2020</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="E20_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10580">3,643</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="E20_StEqComps-CommonStock" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10581">36</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="E20_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10582">115</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="E20_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10583">8,280</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="E20_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10584">110,951</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="E20" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10585">102,822</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="Y21_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10586">14</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="Y21_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10587">-</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="Y21_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10588">787</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="Y21_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10589">-</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="Y21_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10590">-</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="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10591">787</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 received and retired upon exercise <br/> &#160;of stock options</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="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares" contextRef="Y21_StEqComps-CommonStock" decimals="-3" unitRef="Shares" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10592">2</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;<ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y21_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10593">-</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;(<ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y21_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10594">227</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="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y21_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10595">-</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="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y21_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10596">-</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;(<ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y21" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10597">227</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"> Stock option compensation expense</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:StockOptionPlanExpense" contextRef="Y21_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10598">-</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:StockOptionPlanExpense" contextRef="Y21_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10599">-</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;&#160;&#160;<ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y21_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10600">166</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:StockOptionPlanExpense" contextRef="Y21_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10601">-</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:StockOptionPlanExpense" contextRef="Y21_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10602">-</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;&#160;&#160;<ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10603">166</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10604">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10605">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10606">-</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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10607">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10608">-</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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10609">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10610">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10611">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10612">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10613">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10614">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10615">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10616">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10617">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10618">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10619">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10620">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10621">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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10622">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10623">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10624">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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10625">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10626">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10627">107,138</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10628">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10629">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10630">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10631">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10632">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10633">211</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10634">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10635">-</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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10636">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10637">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10638">-</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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10639">37</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10640">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10641">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10642">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10643">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10644">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10645">183</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;&#160;&#160;&#160;&#160;&#160;(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10646">30</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;&#160;<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10647">-</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;&#160;&#160;&#160;&#160;(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10648">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10649">-</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="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10650">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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10651">2,495</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10652">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10653">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10654">-</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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10655">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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10656">-</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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10657">2,986</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10658">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10659">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10660">-</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" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10661">-</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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10662">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10663">4,233</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10664">-</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="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10665">-</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="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10666">-</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="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10667">-</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="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10668">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"><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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10669">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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10670">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10671">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10672">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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10673">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10674">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10675">114,255</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10676">2</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10677">-</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="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10678">117</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="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10679">-</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="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10680">-</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10681">117</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"> Stock option compensation expense</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:StockOptionPlanExpense" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10682">-</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:StockOptionPlanExpense" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10683">-</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;&#160;&#160;<ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10684">225</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:StockOptionPlanExpense" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10685">-</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:StockOptionPlanExpense" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10686">-</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;&#160;&#160;<ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10687">225</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10688">-</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10689">-</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="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10690">-</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="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10691">1,381</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="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10692">-</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10693">1,381</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10694">-</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10695">-</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="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10696">-</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="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10697">-</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="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10698">4,300</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10699">4,300</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10700">-</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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10701">-</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="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10702">-</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="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10703">-</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="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10704">16,635</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10705">16,635</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, 2023</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="E23_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10706">3,630</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="E23_StEqComps-CommonStock" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10707">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;<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10708">594</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="E23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10709">10,658</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="E23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10710">138,341</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10711">128,313</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">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">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, 2023, 2022 and 2021</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="Y23" escape="true" continuedAt="c1" id="ixv-5329"><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 Ltd 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 120 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="Y23" escape="true" id="ixv-5338"><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="Y23" escape="true" id="ixv-5344"><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="Y23" escape="true" id="ixv-5351"><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="Y23" escape="true" id="ixv-5358"><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&#160;31, 2023 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">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"/><ix:continuation id="c1" continuedAt="c2"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:ReceivablesPolicyTextBlock" contextRef="Y23" escape="true" id="ixv-5378"><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="Y23" escape="true" id="ixv-5385"><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="Y23" escape="true" id="ixv-5392"><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="E23_Range-Minimum_PpeByType-BuildingAndBuildingImprovements" format="ixt-sec:duryear" id="ixv-10712">15</ix:nonNumeric> - <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-BuildingAndBuildingImprovements" format="ixt-sec:duryear" id="ixv-10713">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="E23_Range-Minimum_PpeByType-Equipment" format="ixt-sec:duryear" id="ixv-10714">3</ix:nonNumeric> - <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E23_Range-Maximum_PpeByType-Equipment" format="ixt-sec:duryear" id="ixv-10715">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="Y23" escape="true" id="ixv-5414"><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="Y23" escape="true" id="ixv-5421"><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="E23_Range-Minimum" format="ixt-sec:duryear" id="ixv-10716">5</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="E23_Range-Maximum" format="ixt-sec:duryear" id="ixv-10717">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, 2023, using the 2023 year-end <ix:nonFraction name="fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD" contextRef="E23" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-10718">1.2739</ix:nonFraction> USD/GBP and <ix:nonFraction name="fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD" contextRef="E23" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-10719">0.6825</ix:nonFraction> USD/AUD currency exchange rates, is about $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10720">1,931</ix:nonFraction> in 2024, $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10721">1,931</ix:nonFraction> in 2025, $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10722">422</ix:nonFraction> in 2026, $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10723">10</ix:nonFraction> in 2027, and $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10724">8</ix:nonFraction> in 2028 (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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10725">21,000</ix:nonFraction> in intangible assets were acquired from CSI. &#160;This intangible asset was fully amortized 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">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"/><ix:continuation id="c2"> <ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" contextRef="Y23" escape="true" id="ixv-5438"><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, 2023, 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, <i>Share-Based Payment</i>. &#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 2023, the Company recognized $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10726">225</ix:nonFraction> in stock-based compensation cost compared to $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10727">183</ix:nonFraction> in 2022 and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10728">166</ix:nonFraction> in 2021.</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="Y23" escape="true" id="ixv-5446"><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="Y23" escape="true" id="ixv-5453"><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 2023, 2022 or 2021.</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="Y23" escape="true" id="ixv-5468"><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, 2023 and 2022 was  $<ix:nonFraction name="us-gaap:LitigationReserve" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10729">257</ix:nonFraction> and $<ix:nonFraction name="us-gaap:LitigationReserve" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10730">204</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="Y23" escape="true" id="ixv-5475"><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="Y23" escape="true" id="ixv-5484"><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 valign="top" style="width:84.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</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">2022</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">2021</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10731">3,629</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="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10732">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;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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10733">3,647</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10734">8</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="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10735">6</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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10736">13</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10737">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;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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10738">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;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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10739">3,660</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="Y23" escape="true" id="ixv-5540"><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 2023 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="Y23" escape="true" id="ixv-5547"><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">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:nonNumeric name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" contextRef="Y23" escape="true" id="ixv-5562"><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="Y23" escape="true" id="ixv-5566"><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 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">2023</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">2022</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10740">3,488</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10741">5,720</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10742">53</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10743">51</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10744">151</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10745">182</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10746">3,390</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10747">5,589</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric> <ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="Y23" escape="true" id="ixv-5657"><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"/></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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10748">1,685</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10749">1,896</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10750">1,503</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10751">1,193</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10752">6,394</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10753">5,725</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10754">9,582</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10755">8,814</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ScheduleOfGoodwillTextBlock" contextRef="Y23" escape="true" id="ixv-5728"><table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:801.35pt"><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 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"/></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10756">13,354</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="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10757">14,098</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10758">338</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="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10759">744</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10760">-</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="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10761">-</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10762">13,692</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10763">13,354</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" contextRef="Y23" escape="true" id="ixv-5796"><p style="font:11pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:801.35pt"><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:82.8pt"/><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:82.8pt"/></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10764">2,209</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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10765">2,198</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedNoncompeteAgreementsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10766">127</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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedNoncompeteAgreementsGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10767">121</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedTrademarksGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10768">9,360</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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedTrademarksGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10769">8,887</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedCustomerRelationshipsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10770">9,108</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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:FiniteLivedCustomerRelationshipsGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10771">8,635</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherFiniteLivedIntangibleAssetsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10772">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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OtherFiniteLivedIntangibleAssetsGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10773">21,000</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10774">342</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:82.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10775">395</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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:82.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10776">12,150</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:82.8pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10777">11,519</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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:82.8pt;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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10778">54,296</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:82.8pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10779">52,755</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:801.35pt"><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:82.8pt;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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10780">49,350</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:82.8pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10781">42,378</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="width:801.35pt"><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:82.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:FiniteLivedIntangibleAssetsNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10782">4,946</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:82.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:FiniteLivedIntangibleAssetsNet" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10783">10,377</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric> <ix:nonNumeric name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" contextRef="Y23" escape="true" id="ixv-5952"><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 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"/></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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10784">327</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10785">337</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10786">1,294</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10787">1,318</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10788">257</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10789">204</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10790">2,063</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10791">2,883</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10792">3,941</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10793">4,742</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="Y23" escape="true" id="ixv-6038"><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="Y23" escape="true" id="ixv-6041"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:237.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:15.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" valign="bottom" style="width:425.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2023</p>
</td></tr>
<tr><td valign="top" style="width:237.6pt"/><td valign="top" style="width:12.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:15.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:79.2pt;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:20.9pt;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:15.1pt;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:79.2pt;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:20.9pt;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:15.1pt;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:79.2pt;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:20.9pt;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:15.1pt;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:79.2pt;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:237.6pt"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td valign="top" style="background-color:#CCEEFF;width:12.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt;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="Y23Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10794">12,520</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt;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="Y23Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10795">12,866</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt;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="Y23Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10796">12,505</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt;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="Y23Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10797">12,333</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:237.6pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="width:12.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10798">7,843</ix:nonFraction></p>
</td><td valign="top" style="width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10799">7,739</ix:nonFraction></p>
</td><td valign="top" style="width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10800">7,359</ix:nonFraction></p>
</td><td valign="top" style="width:20.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10801">7,098</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:237.6pt"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#CCEEFF;width:12.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10802">4,214</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10803">4,200</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10804">3,935</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10805">4,287</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:237.6pt"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td valign="top" style="width:12.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt;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="Y23Q1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10806">1.16</ix:nonFraction></p>
</td><td valign="top" style="width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt;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="Y23Q2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10807">1.15</ix:nonFraction></p>
</td><td valign="top" style="width:20.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt;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="Y23Q3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10808">1.08</ix:nonFraction></p>
</td><td valign="top" style="width:20.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.2pt;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="Y23Q4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10809">1.18</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:237.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" valign="bottom" style="width:425.3pt;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:237.55pt"/><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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">Fourth Quarter</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td valign="top" style="background-color:#CCEEFF;width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10810">12,323</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10811">13,428</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10812">12,955</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.4pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10813">13,575</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10814">7,533</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10815">8,151</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10816">8,186</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10817">8,327</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#CCEEFF;width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10818">3,534</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10819">4,103</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10820">4,280</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10821">4,555</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10822">0.96</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10823">1.12</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10824">1.18</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.4pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10825">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:237.55pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" valign="bottom" style="width:425.3pt;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:237.55pt"/><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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">Fourth Quarter</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td valign="top" style="background-color:#CCEEFF;width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10826">10,964</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10827">12,604</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10828">12,572</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.4pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10829">12,914</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y21Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10830">6,947</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y21Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10831">7,785</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y21Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10832">8,073</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y21Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10833">8,112</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#CCEEFF;width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y21Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10834">3,024</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y21Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10835">3,426</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y21Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10836">4,206</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:79.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y21Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10837">4,131</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:237.55pt"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td valign="top" style="width:12.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10838">0.83</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10839">0.94</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.35pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10840">1.15</ix:nonFraction></p>
</td><td valign="top" style="width:20.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:79.4pt;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" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-10841">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;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="Y23" escape="true" id="ixv-6484"><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="Y23" escape="true" id="ixv-6489"><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 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">2023</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">2022</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10842">1,638</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10843">1,593</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10844">13,907</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10845">13,601</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10846">17,315</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10847">17,068</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10848">1,413</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10849">906</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10850">34,273</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10851">33,168</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10852">23,722</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10853">22,944</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10854">10,551</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10855">10,224</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="Y23" escape="true" id="ixv-6605"><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, 2023</span></p>
</td></tr>
<tr><td valign="top" style="width:398.15pt"/><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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10856">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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10857">637</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10858">380</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10859">1,638</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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10860">6,584</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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10861">3,194</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10862">4,129</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10863">13,907</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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10864">15,075</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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10865">732</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10866">1,508</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10867">17,315</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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10868">913</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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10869">3</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10870">497</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10871">1,413</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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10872">23,193</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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10873">4,566</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10874">6,514</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10875">34,273</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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10876">18,701</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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10877">1,464</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10878">3,557</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10879">23,722</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="E23_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10880">4,492</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="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10881">3,102</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="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10882">2,957</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10883">10,551</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, 2022</span></p>
</td></tr>
<tr><td valign="top" style="width:398.15pt"/><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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10884">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10885">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10886">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.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10887">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.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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10888">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10889">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10890">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.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10891">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.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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10892">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10893">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10894">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.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10895">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.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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10896">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="E22_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10897">-</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="E22_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10898">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.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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10899">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.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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10900">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10901">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10902">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.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10903">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.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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10904">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10905">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10906">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.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10907">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.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="E22_StGeo-U.S.AndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10908">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10909">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10910">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.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10911">10,224</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">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:nonNumeric name="us-gaap:LongTermDebtTextBlock" contextRef="Y23" escape="true" id="ixv-7073"><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="E23" decimals="INF" unitRef="USD" format="ixt-sec:numwordsen" id="ixv-10912"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="E22" decimals="INF" unitRef="USD" format="ixt-sec:numwordsen" id="ixv-10913">None</ix:nonFraction></ix:nonFraction> in 2022 and 2023.</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="Y23" escape="true" id="ixv-7080"><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 product liability litigation expenses at $<ix:nonFraction name="fil:LitigationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10914">1,660</ix:nonFraction> in 2023, $<ix:nonFraction name="fil:LitigationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10915">670</ix:nonFraction> in 2022 and $<ix:nonFraction name="fil:LitigationExpense" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10916">22</ix:nonFraction> in 2021 were high relative to history, they were not material to overall consolidated financial results. &#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="E23" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-10917"><ix:nonFraction name="us-gaap:ProductWarrantyAccrual" contextRef="E22" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-10918">no</ix:nonFraction></ix:nonFraction> warranty reserve was made at December 31, 2023 or December 31, 2022. </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. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall 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">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:IncomeTaxDisclosureTextBlock" contextRef="Y23" escape="true" id="ixv-7115"><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="Y23" escape="true" id="ixv-7120"><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 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">2023</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">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: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">2021</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10919">110</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10920">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10921">88</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10922">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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10923">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10924">31</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10925">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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10926">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10927">58</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10928">1,673</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10929">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10930">2,859</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10931">1,442</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10932">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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10933">2,682</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="Y23" escape="true" id="ixv-7246"><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 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">2023</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">2022</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">2021</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10934">4,075</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10935">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">&#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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10936">3,983</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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10937">621</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="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10938">446</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="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10939">290</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10940">3,454</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10941">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">&#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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10942">4,273</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="Y23" escape="true" id="ixv-7335"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:259pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" valign="top" style="width:199.25pt;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:259pt"/><td valign="top" style="width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:35.45pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:35.45pt;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.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:35.45pt;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:259pt"><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:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt;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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10943">2,346</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10944">2,620</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10945">2,520</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:259pt"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td valign="top" style="width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10946">439</ix:nonFraction></p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10947">490</ix:nonFraction></p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10948">448</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:259pt"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10949">951</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10950">1,129</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10951">1,010</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:259pt"><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:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10952">3</ix:nonFraction>)</p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10953">3</ix:nonFraction>)</p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10954">6</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:259pt"><p style="font:10pt Times New Roman;margin:0"> Tax-exempt income </p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">(<ix:nonFraction name="us-gaap:InterestIncomeSecuritiesTaxExempt" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10955">195</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><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:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestIncomeSecuritiesTaxExempt" contextRef="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10956">-</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:InterestIncomeSecuritiesTaxExempt" contextRef="Y21" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10957">-</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:259pt"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td valign="top" style="width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:AdjustmentToDeferredTaxLiability" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10958">-</ix:nonFraction></p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:AdjustmentToDeferredTaxLiability" contextRef="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-10959">-</ix:nonFraction></p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:35.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:AdjustmentToDeferredTaxLiability" contextRef="Y21" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10960">391</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:259pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt;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="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10961">84</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10962">50</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#CCEEFF;width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:35.45pt;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" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-10963">90</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="width:259pt"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="width:9.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="width:35.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:IncomeTaxExpenseBenefit" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10964">3,454</ix:nonFraction></p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="width:35.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:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10965">4,186</ix:nonFraction></p>
</td><td valign="top" style="width:36.65pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:9.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="width:35.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:IncomeTaxExpenseBenefit" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10966">4,273</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="Y23" escape="true" id="ixv-7518"><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 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">2023</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">2022</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">2021</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10967">11,170</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10968">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">&#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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10969">12,004</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10970">8,919</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10971">8,184</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="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10972">7,057</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10973">20,089</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10974">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">&#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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-10975">19,061</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">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:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" contextRef="Y23" escape="true" continuedAt="c3" id="ixv-7611"><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="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10976">285</ix:nonFraction> thousand shares of common stock, of which <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10977">84</ix:nonFraction> thousand are outstanding as of December 31, 2023. &#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="Y23" escape="true" id="ixv-7617"><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>2023</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10978">19</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="Y23" escape="true" id="ixv-10979">77.07 - 77.07</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="Y23" decimals="-2" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10980">0.4</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="Y23" escape="true" id="ixv-10981">77.05 - 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="Y23_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10982">2</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="Y23" escape="true" id="ixv-10983">49.18 - 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="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10984">84</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="Y23" escape="true" id="ixv-10985">49.18 - 82.60</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="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10986">50</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="Y23" escape="true" id="ixv-10987">49.18 - 82.60</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.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27.25pt"><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:27.3pt;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:345.95pt;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.75pt"><p style="font:10pt Times New Roman;margin:0"><b>2022</b></p>
</td><td valign="top" style="background-color:#CCEEFF;width:27.25pt"><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.95pt;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.75pt"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td valign="top" style="width:27.25pt"><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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10988">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 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.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareGranted" contextRef="Y22" escape="true" id="ixv-10989">82.60 - 82.60</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:795.75pt"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td valign="top" style="background-color:#CCEEFF;width:27.25pt"><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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10990">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 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.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareExpired" contextRef="Y22" escape="true" id="ixv-10991">33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:795.75pt"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td valign="top" style="width:27.25pt"><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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10992">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 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.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareExercised" contextRef="Y22" escape="true" id="ixv-10993">33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:795.75pt"><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.25pt"><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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10994">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 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.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareOutstanding" contextRef="Y22" escape="true" id="ixv-10995">33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:795.75pt"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td valign="top" style="width:27.25pt"><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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-10996">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 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.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareTotalExercisable" contextRef="Y22" escape="true" id="ixv-10997">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.5pt"><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.25pt;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.5pt"><p style="font:10pt Times New Roman;margin:0"><b>2021</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.25pt;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.5pt"><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="Y21" decimals="-3" unitRef="Shares" format="ixt:fixed-zero" id="ixv-10998">-</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.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareGranted" contextRef="Y21" escape="true" id="ixv-10999">- - -</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:795.5pt"><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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11000">3</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.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareExpired" contextRef="Y21" escape="true" id="ixv-11001">74.64 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:795.5pt"><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="Y21_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11002">14</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.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareExercised" contextRef="Y21" escape="true" id="ixv-11003">26.52 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:795.5pt"><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="E21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11004">52</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.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareOutstanding" contextRef="Y21" escape="true" id="ixv-11005">33.30 - 77.05</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:795.5pt"><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="E21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11006">34</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.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="fil:PriceRangePerShareTotalExercisable" contextRef="Y21" escape="true" id="ixv-11007">33.30 - 77.05</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&#160;31, 2023, 2022 and 2021, the Company reduced current income taxes payable by $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11008">12</ix:nonFraction>, $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11009">6</ix:nonFraction> and $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11010">39</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 2023, the Company recognized $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11011">225</ix:nonFraction> in equity compensation cost, compared to $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11012">183</ix:nonFraction> in 2022 and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11013">166</ix:nonFraction> in 2021. &#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="Y23" escape="true" id="ixv-7916"><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">2023</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">2022</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">2021</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="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11014">0.3090</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"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11015">0.3050</ix:nonFraction></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">-</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="Y23" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-11016">31.67</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"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-11017">29.87</ix:nonFraction>%</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">-</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="Y23" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-11018">4.75</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"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-11019">4.09</ix:nonFraction>%</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">-</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="Y23" format="ixt-sec:duryear" id="ixv-11020">5.6</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"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="Y22" format="ixt-sec:duryear" id="ixv-11021">5.7</ix:nonNumeric> years</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">-</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 2023 is $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11022">25.09</ix:nonFraction> and in 2022 is $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11023">25.34</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">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: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, 2023 there was $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11024">702</ix:nonFraction> total unrecognized compensation expense related to non-vested stock options under the plans. A $<ix:nonFraction name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11025">225</ix:nonFraction> portion of the cost is expected to be recognized over the next <ix:nonNumeric name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition" contextRef="Y23" format="ixt-sec:durwordsen" id="ixv-11026">twelve months</ix:nonNumeric>, and the remaining $<ix:nonFraction name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears" contextRef="E23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11027">477</ix:nonFraction> recognized over the next <ix:nonNumeric name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition" contextRef="Y23" format="ixt-sec:duryear" id="ixv-11028">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, 2023:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" contextRef="Y23" escape="true" id="ixv-8038"><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="Y23_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11029">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="Y23_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11030">74.64</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="E23_StScenario-Range1" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11031">23,841</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="E23_StScenario-Range1" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-11032">3.18</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="E23_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11033">63.44</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="E23_StScenario-Range1" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11034">23,841</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="E23_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11035">63.44</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="Y23_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11036">77.05</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="Y23_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11037">82.60</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="E23_StScenario-Range2" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11038">60,460</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="E23_StScenario-Range2" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-11039">8.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: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="E23_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11040">78.95</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="E23_StScenario-Range2" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11041">24,644</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="E23_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11042">78.21</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">$</p>
</td><td valign="top" style="background-color:#CCEEFF;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="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11043">49.18</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;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="background-color:#CCEEFF;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="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11044">82.60</ix:nonFraction></span></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-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="E23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11045">84,301</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-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="E23" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-11046">6.79</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;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="E23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11047">74.56</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-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="E23" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11048">48,485</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;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="E23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11049">70.95</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">2023</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">2022</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">2021</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11050">31</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11051">141</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="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11052">591</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11053">814</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="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11054">1,812</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="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11055">1,595</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="Y23" escape="true" id="ixv-8305"><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="Y23" escape="true" id="ixv-8310"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:534.95pt"/><td valign="top" style="width:50.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:112.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="top" style="width:60.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:112.7pt;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:60.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:112.7pt;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:534.95pt"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td valign="top" style="background-color:#CCEEFF;width:50.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesInTheUnitedStates" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11056">30,413</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:60.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.7pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11057">34,524</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:60.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.7pt;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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11058">31,758</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:534.95pt"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td valign="top" style="width:50.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:112.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesInEurope" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11059">8,918</ix:nonFraction></p>
</td><td valign="top" style="width:60.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:112.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesInEurope" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11060">7,214</ix:nonFraction></p>
</td><td valign="top" style="width:60.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:112.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesInEurope" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11061">7,434</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:534.95pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="top" style="background-color:#CCEEFF;width:50.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesOther" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11062">10,893</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:60.2pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesOther" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11063">10,543</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:60.2pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:CompanySalesOther" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11064">9,862</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="Y23" escape="true" continuedAt="c4" id="ixv-8391"><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="Y23" escape="true" id="ixv-8396"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:537.1pt"/><td valign="top" style="width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:112.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="top" style="width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:112.3pt;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:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:112.3pt;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:537.1pt"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td valign="top" style="background-color:#CCEEFF;width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInTheUnitedStates" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11066">11,462</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInTheUnitedStates" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11067">14,875</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInTheUnitedStates" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11068">19,104</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:537.1pt"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td valign="top" style="width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInEngland" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11069">13,838</ix:nonFraction></p>
</td><td valign="top" style="width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInEngland" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11070">15,184</ix:nonFraction></p>
</td><td valign="top" style="width:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInEngland" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11071">19,339</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:537.1pt"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td valign="top" style="background-color:#CCEEFF;width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInIreland" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11072">2,963</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInIreland" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11073">2,954</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInIreland" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11074">2,990</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#FFFFFF;width:537.1pt"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td valign="top" style="background-color:#FFFFFF;width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInAustralia" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11075">336</ix:nonFraction></p>
</td><td valign="top" style="background-color:#FFFFFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInAustralia" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11076">337</ix:nonFraction></p>
</td><td valign="top" style="background-color:#FFFFFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInAustralia" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11077">392</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:537.1pt"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td valign="top" style="background-color:#CCEEFF;width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInCanada" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11078">589</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInCanada" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11079">593</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:LongLivedAssetsInCanada" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11080">653</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#FFFFFF;width:537.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:50.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:112.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:59.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:25.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#FFFFFF;width:112.3pt"><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">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="fil:RevenuesbyproductcategoryandregionTextBlock" contextRef="Y23" escape="true" id="ixv-8539"><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="Y23" escape="true" id="ixv-8544"><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:497.8pt"> </td><td valign="top" style="width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:110.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="top" style="width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:110.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:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:110.9pt;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:497.8pt"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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="Y23_ProductOrService-Obstetrics_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11081">4,592</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Obstetrics_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11082">4,661</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11083">4,675</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td valign="top" style="width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11084">22,300</ix:nonFraction></p>
</td><td valign="top" style="width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11085">21,841</ix:nonFraction></p>
</td><td valign="top" style="width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11086">21,973</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Neonatal_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11087">6,863</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11088">7,567</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11089">6,691</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td valign="top" style="width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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="Y23_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11090">16,469</ix:nonFraction></p>
</td><td valign="top" style="width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11091">18,212</ix:nonFraction></p>
</td><td valign="top" style="width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11092">15,715</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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="Y23_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11093">50,224</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11094">52,281</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11095">49,054</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="Y23" escape="true" id="ixv-8673"><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:497.8pt"> </td><td valign="top" style="width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:110.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="top" style="width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:110.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:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:110.9pt;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:497.8pt"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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="Y23_ProductOrService-Obstetrics_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11096">1,041</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Obstetrics_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11097">676</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11098">735</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td valign="top" style="width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11099">11,992</ix:nonFraction></p>
</td><td valign="top" style="width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11100">11,603</ix:nonFraction></p>
</td><td valign="top" style="width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11101">11,053</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Neonatal_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11102">1,678</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11103">1,517</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11104">1,347</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td valign="top" style="width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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="Y23_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11105">7,309</ix:nonFraction></p>
</td><td valign="top" style="width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11106">6,514</ix:nonFraction></p>
</td><td valign="top" style="width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11107">5,260</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:497.8pt"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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="Y23_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11108">22,020</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:58.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11109">20,310</ix:nonFraction></p>
</td><td valign="top" style="background-color:#CCEEFF;width:71.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:25.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="top" style="background-color:#CCEEFF;width:110.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" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11110">18,395</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="Y23" escape="true" id="ixv-8804"><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 2023, 2022 and 2021, UTMD received royalties of $<ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11111">20</ix:nonFraction>, $<ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11112">20</ix:nonFraction> and $<ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11113">15</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11114">4,529</ix:nonFraction> in operating lease and purchase commitments as of December 31, 2023.</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="Y23" escape="true" id="ixv-8815"><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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11115">184</ix:nonFraction>, $<ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11116">159</ix:nonFraction> and $<ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11117">165</ix:nonFraction> for the years ended December 31, 2023, 2022 and 2021, 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">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:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" contextRef="Y23" escape="true" id="ixv-8828"><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="D231231" format="ixt-sec:duryear" id="ixv-11118">8</ix:nonNumeric> years and on the automobile is <ix:nonNumeric name="fil:LesseeOperatingLeaseForAutomobileTermOfContract" contextRef="D231231" format="ixt-sec:durmonth" id="ixv-11119">6</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11120">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, 2023, 2022, and 2021 were $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11121">65</ix:nonFraction>, $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11122">64</ix:nonFraction>, and $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11123">63</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 (<i>in thousands</i>):</p>
<ix:nonNumeric name="fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock" contextRef="Y23" escape="true" id="ixv-8838"><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, 2023</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11124">342</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, 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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11125">47</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, 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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11126">295</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11127">342</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" contextRef="Y23" escape="true" id="ixv-8868"><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, 2023 were as follows <i>(in thousands)</i>:</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, 2023</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:796.35pt"><p style="font:10pt Times New Roman;margin:0">2024</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11128">45</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:796.35pt"><p style="font:10pt Times New Roman;margin:0">2025</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11129">41</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">2026</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11130">42</ix:nonFraction></p>
</td></tr>
<tr><td valign="top" style="width:796.35pt"><p style="font:10pt Times New Roman;margin:0">2027</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11131">43</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">2028</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11132">44</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11133">125</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11134">381</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11135">39</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="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11136">342</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, 2023</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="E23" format="ixt-sec:duryear" id="ixv-11137">7.4</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="E23" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-11138">3.0</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="Y23" escape="true" id="ixv-8949"><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 had the right to sell the Filshie Clip System and UTMD distributed the Filshie Clip System directly to clinical facilities in the U.S. The $<ix:nonFraction name="us-gaap:FinitelivedIntangibleAssetsAcquired1" contextRef="Y23_DistributionRightsAcquisition-CoopersurgicalInc" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11139">21,000</ix:nonFraction> purchase price represented an identifiable intangible asset which was straight-line amortized and recognized as part of G&amp;A expenses over the <ix:nonFraction name="fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem" contextRef="Y23_DistributionRightsAcquisition-CoopersurgicalInc" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-11140">4.75</ix:nonFraction> year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement became 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">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"/><p style="font:10pt Times New Roman;margin:0"> &#160;</p>
 <ix:nonNumeric name="us-gaap:EarningsPerShareTextBlock" contextRef="Y23" escape="true" id="ixv-8964"><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 2023.</p>
<ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" contextRef="Y23" escape="true" id="ixv-8969"><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 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">2023</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">2022</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">2021</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="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11141">16,635</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="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11142">16,473</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="Y21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11143">14,788</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11144">3,629</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="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11145">3,637</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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11146">3,647</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11147">8</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="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11148">6</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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11149">13</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="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11150">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;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" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11151">3,643</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="Y21" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11152">3,660</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="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11153">4.58</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="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11154">4.53</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="Y21" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11155">4.05</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="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11156">4.57</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="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11157">4.52</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="Y21" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11158">4.04</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="Y23" escape="true" id="ixv-9127"><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="Y23" escape="true" id="ixv-9131"><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="Y23" escape="true" id="ixv-9136"><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, 2023 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">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"/><a id="a18"></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="a19"></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 2023, 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, 2023, 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&#160;404 of the Sarbanes-Oxley Act of 2002, the Company has included, as part of this Form&#160;10-K, a report of management's assessment of the effectiveness of its internal controls as of December&#160;31, 2023. &#160;Management's report appears on page&#160;34 of this Form&#160;10-K under the caption "Management's Report on Internal Control Over Financial Reporting" 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, 2023, and there were no material weaknesses.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a20"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 9B &#8211;&#160;OTHER INFORMATION</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>Rule 10b5-1 Trading Plans.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">During 2023, <ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" contextRef="Y23" format="ixt:fixed-false" id="ixv-11159"><ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" contextRef="Y23" format="ixt:fixed-false" id="ixv-11160"><ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" contextRef="Y23" format="ixt:fixed-false" id="ixv-11161"><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" contextRef="Y23" format="ixt:fixed-false" id="ixv-11162">none</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric> of UTMD&#8217;s directors or executive officers adopted Rule 10b5-1, and none of UTMD&#8217;s directors or executive officers terminated a Rule 10b5-1 trading plan or adopted or terminated a non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation S-K).</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="a21"></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">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"/><a id="a22"></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="a23"></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 2024 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: 2023 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="a24"></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 2024 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="a25"></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 2024 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>
<a id="a26"></a><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 2024 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 2024 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="a27"></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 2024 annual meeting of stockholders under the caption &#8220;PROPOSAL NO 2. 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">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="a29"></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="a30"></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, 2023 and </a><a href="utmd_ex23z1.htm" style="text-decoration:none">December 31, 20</a><a href="utmd_ex23z1.htm" style="text-decoration:none">22</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">23 and</a><a href="utmd_ex23z2.htm" style="text-decoration:none"> December 31, 20</a><a href="utmd_ex23z2.htm" style="text-decoration:none">22</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, 2023, 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="a31"></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">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="a32"></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 25th day of March 2024.&#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 25th day of March 2024.&#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">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"/><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 [PPXK9NDL3JZWVDRZ9JZY]. 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 2024, 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'>2024 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); $139,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 2024, 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 2024 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 [PPXK9NDL3JZWVDRZ9JZY]. 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 Ireland</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 [PPXK9NDL3JZWVDRZ9JZY]. 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 Nos. 333-273261, and 333-199337 (on Form S-8) of Utah Medical Products, Inc. of our audit report dated March 25, 2024, 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, 2023.</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 25, 2024</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 [PPXK9NDL3JZWVDRZ9JZY]. 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-273261 and 333-199337 &nbsp;(on Form S-8) of Utah Medical Products, Inc. of our audit reports dated 25 March 2024, 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 2023 and 2022.</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=font-size:12pt><IMG src=utmdex23z2_1.jpg width=218 height=39 alt='Picture 1' title='Picture 1'></FONT>&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'>25 March 2024</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 [PPXK9NDL3JZWVDRZ9JZY]. 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 25, 2024</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 [PPXK9NDL3JZWVDRZ9JZY]. 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 25, 2024</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 [PPXK9NDL3JZWVDRZ9JZY]. 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, 2023, 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 25, 2024</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 [PPXK9NDL3JZWVDRZ9JZY]. 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, 2023, 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 25, 2024</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-20231231_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 [PPXK9NDL3JZWVDRZ9JZY]. 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/20231231"
		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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_InventoryNet' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_Liabilities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_StockholdersEquity' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GrossProfit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_Depreciation' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='9.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='10.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='11.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='12.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='13.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='14.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link: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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:label='us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_InterestIncomeSecuritiesTaxExempt' use='optional' order='5.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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='6.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='7.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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-20231231_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 [PPXK9NDL3JZWVDRZ9JZY]. 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/20231231"
		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/20231231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementTradingArrangementsByIndividual"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipment" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipment"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipment"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote5LongTermDebt"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxes" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxes"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8Options"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformation" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote9GeographicInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote14Leases" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14Leases"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14Leases"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShare" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote16EarningsPerShare"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShare"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote17RecentAccountingPronouncements"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote18SubsequentEvents" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote18SubsequentEvents"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote18SubsequentEvents"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_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/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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/2023/country-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='7.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebtDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote5LongTermDebtDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebtDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_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/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_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/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/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/2023/elts/us-roles-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231_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 [PPXK9NDL3JZWVDRZ9JZY]. 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/20231231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel"/>
	<link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductOrServiceAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductOrServiceAxis' xlink:to='lab_srt_ProductOrServiceAxis'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_SegmentGeographicalDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='utmd-20231231.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='utmd-20231231.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalYearFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Year Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalYearFocus' xlink:to='lab_dei_DocumentFiscalYearFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityInteractiveDataCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Interactive Data Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityInteractiveDataCurrent' xlink:to='lab_dei_EntityInteractiveDataCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressCityOrTown' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, City or Town</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressCityOrTown' xlink:to='lab_dei_EntityAddressCityOrTown'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityShellCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Shell Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityShellCompany' xlink:to='lab_dei_EntityShellCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementGeographicalAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementGeographicalAxis' xlink:to='lab_srt_StatementGeographicalAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='utmd-20231231.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_LocalPhoneNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Local Phone Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_LocalPhoneNumber' xlink:to='lab_dei_LocalPhoneNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityRegistrantName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Registrant Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityRegistrantName' xlink:to='lab_dei_EntityRegistrantName'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/2023/elts/us-gaap-2023.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-20231231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' 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 4 Years Period For Recognition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' 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 4 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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingsAndImprovementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Buildings and Improvements, 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='utmd-20231231.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='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MinimumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Minimum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MinimumMember' xlink:to='lab_srt_MinimumMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag' xlink:label='ecd_Rule10b51ArrAdoptedFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_Rule10b51ArrAdoptedFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rule 10b5-1 Arrangement Adopted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_Rule10b51ArrAdoptedFlag' xlink:to='lab_ecd_Rule10b51ArrAdoptedFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link: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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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,630 shares in 2023 and 3,628 shares in 2022</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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='lab_us-gaap_LiabilitiesCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressLine1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Line One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressLine1' xlink:to='lab_dei_EntityAddressAddressLine1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentTransitionReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Transition Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentTransitionReport' xlink:to='lab_dei_DocumentTransitionReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/elts/us-gaap-2023.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='utmd-20231231.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='utmd-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:label='us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Interest Income, Securities, Operating, Tax Exempt</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Interest Income, Securities, Operating, Tax Exempt</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:to='lab_us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, Allowance for Credit Loss, Current</link:label>
		<link: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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SignificantAccountingPoliciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrent' xlink:to='lab_us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityEmergingGrowthCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Emerging Growth Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityEmergingGrowthCompany' xlink:to='lab_dei_EntityEmergingGrowthCompany'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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/us-gaap/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TableTextBlockSupplementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tables/Schedules</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='lab_us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag' xlink:label='ecd_Rule10b51ArrTrmntdFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_Rule10b51ArrTrmntdFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rule 10b5-1 Arrangement Terminated</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_Rule10b51ArrTrmntdFlag' xlink:to='lab_ecd_Rule10b51ArrTrmntdFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesAuthorized' xlink:to='lab_us-gaap_CommonStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/dei-2023.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='utmd-20231231.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-20231231.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='utmd-20231231.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='utmd-20231231.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Notes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='lab_us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrByIndTable' xlink:label='ecd_TradingArrByIndTable'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_TradingArrByIndTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Arrangements, by Individual</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_TradingArrByIndTable' xlink:to='lab_ecd_TradingArrByIndTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 year 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total liabilities and 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/dei-2023.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CityAreaCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>City Area Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CityAreaCode' xlink:to='lab_dei_CityAreaCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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='utmd-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income (Loss) 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:label='us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_Security12bTitle' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Title of 12(b) Security</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_Security12bTitle' xlink:to='lab_dei_Security12bTitle'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentAnnualReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Annual Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentAnnualReport' xlink:to='lab_dei_DocumentAnnualReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductsAndServicesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductsAndServicesDomain' xlink:to='lab_srt_ProductsAndServicesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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='utmd-20231231.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/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeMember' xlink:to='lab_srt_RangeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxPolicyTextBlock' xlink:to='lab_us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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='utmd-20231231.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.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag' xlink:label='ecd_NonRule10b51ArrAdoptedFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_NonRule10b51ArrAdoptedFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Non-Rule 10b5-1 Arrangement Adopted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_NonRule10b51ArrAdoptedFlag' xlink:to='lab_ecd_NonRule10b51ArrAdoptedFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementTable' xlink:to='lab_us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/dei-2023.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFilerCategory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Filer Category</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFilerCategory' xlink:to='lab_dei_EntityFilerCategory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentType' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Type</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentType' xlink:to='lab_dei_DocumentType'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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='utmd-20231231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' 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 4 Years</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' 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 4 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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeAxis' xlink:to='lab_srt_RangeAxis'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesIssued' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Issued</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesIssued' xlink:to='lab_us-gaap_CommonStockSharesIssued'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ASSETS</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsAbstract' xlink:to='lab_us-gaap_AssetsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityPublicFloat' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Public Float</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityPublicFloat' xlink:to='lab_dei_EntityPublicFloat'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_TradingSymbol' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Symbol</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_TradingSymbol' xlink:to='lab_dei_TradingSymbol'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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='utmd-20231231.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-20231231.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/srt/2023/elts/srt-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Gross</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Property, Plant and Equipment, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryRawMaterials' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryWorkInProcess' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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, to be Paid, 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag' xlink:label='ecd_NonRule10b51ArrTrmntdFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_NonRule10b51ArrTrmntdFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Non-Rule 10b5-1 Arrangement Terminated</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_NonRule10b51ArrTrmntdFlag' xlink:to='lab_ecd_NonRule10b51ArrTrmntdFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash (used in) financing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net cash (used in) financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating 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/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Gross profit</link:label>
		<link: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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsAccumulatedDeficit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsAccumulatedDeficit' xlink:to='lab_us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Liabilities' xlink:to='lab_us-gaap_Liabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityIncorporationStateCountryCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Incorporation, State or Country Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityIncorporationStateCountryCode' xlink:to='lab_dei_EntityIncorporationStateCountryCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFileNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity File Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFileNumber' xlink:to='lab_dei_EntityFileNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CurrentFiscalYearEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConsolidationPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Principles of Consolidation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConsolidationPolicyTextBlock' xlink:to='lab_us-gaap_ConsolidationPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PolicyTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='lab_us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash (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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories</link:label>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfCashFlowsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:label xlink:type='resource' xlink:label='lab_us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='lab_us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Assets' xlink:to='lab_us-gaap_Assets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories (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/2023/dei-2023.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentFlag' xlink:to='lab_dei_AmendmentFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted 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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-In 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other, 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/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Common Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCommonStockSharesOutstanding' xlink:to='lab_dei_EntityCommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityTaxIdentificationNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Tax Identification Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityTaxIdentificationNumber' xlink:to='lab_dei_EntityTaxIdentificationNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/elts/us-gaap-2023.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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 year 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsPayable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsMember' xlink:to='lab_us-gaap_RetainedEarningsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementEquityComponentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Components [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='lab_us-gaap_StatementEquityComponentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>LIABILITIES AND 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.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressStateOrProvince' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, State or Province</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressStateOrProvince' xlink:to='lab_dei_EntityAddressStateOrProvince'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TextBlockAbstract' xlink:to='lab_us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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'>Litigation Expense</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/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MaximumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Maximum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MaximumMember' xlink:to='lab_srt_MaximumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementLineItems' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement [Line Items]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementLineItems' xlink:to='lab_us-gaap_StatementLineItems'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockMember' xlink:to='lab_us-gaap_CommonStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesOutstanding' xlink:to='lab_us-gaap_CommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsPayableCurrent' xlink:to='lab_us-gaap_AccountsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='lab_us-gaap_AssetsCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_SecurityExchangeName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Security Exchange Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_SecurityExchangeName' xlink:to='lab_dei_SecurityExchangeName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressPostalZipCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Postal Zip Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressPostalZipCode' xlink:to='lab_dei_EntityAddressPostalZipCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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</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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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.sec.gov/country/2023/country-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='utmd-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquityComponentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Component</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquityComponentDomain' xlink:to='lab_us-gaap_EquityComponentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash {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/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalPeriodFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Period Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalPeriodFocus' xlink:to='lab_dei_DocumentFiscalPeriodFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.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='utmd-20231231.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/us-gaap/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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='utmd-20231231.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='utmd-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts receivable</link:label>
		<link: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/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Depreciation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Depreciation' xlink:to='lab_us-gaap_Depreciation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total 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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntitySmallBusiness' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Small Business</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntitySmallBusiness' xlink:to='lab_dei_EntitySmallBusiness'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>utmd-20231231_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 [PPXK9NDL3JZWVDRZ9JZY]. 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/20231231"
		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/20231231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCentralIndexKey' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentType' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CurrentFiscalYearEndDate' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_TradingSymbol' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityTaxIdentificationNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCommonStockSharesOutstanding' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFilerCategory' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCurrentReportingStatus' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityShellCompany' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntitySmallBusiness' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityEmergingGrowthCompany' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentTransitionReport' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFileNumber' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityIncorporationStateCountryCode' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressLine1' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressCityOrTown' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressStateOrProvince' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressPostalZipCode' use='optional' order='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CityAreaCode' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_LocalPhoneNumber' use='optional' order='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_Security12bTitle' use='optional' order='29.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_SecurityExchangeName' use='optional' order='30.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityInteractiveDataCurrent' use='optional' order='31.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentFlag' use='optional' order='35.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalYearFocus' use='optional' order='36.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalPeriodFocus' use='optional' order='37.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquityAbstract' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesAuthorized' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesIssued' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link: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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_Depreciation' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_StatementTradingArrangementsByIndividual" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_StatementTradingArrangementsByIndividual"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_TradingArrByIndTable' xlink:label='ecd_TradingArrByIndTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag' xlink:label='ecd_Rule10b51ArrAdoptedFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_Rule10b51ArrAdoptedFlag' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag' xlink:label='ecd_NonRule10b51ArrAdoptedFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_NonRule10b51ArrAdoptedFlag' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag' xlink:label='ecd_Rule10b51ArrTrmntdFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_Rule10b51ArrTrmntdFlag' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag' xlink:label='ecd_NonRule10b51ArrTrmntdFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_NonRule10b51ArrTrmntdFlag' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SignificantAccountingPoliciesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote4PropertyAndEquipment" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipment"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipment">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote5LongTermDebt" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote5LongTermDebt"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote7IncomeTaxes" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IncomeTaxDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8Options"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote9GeographicInformation" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote9GeographicInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote14Leases" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14Leases"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14Leases">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote16EarningsPerShare" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote16EarningsPerShare"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShare">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote17RecentAccountingPronouncements"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote18SubsequentEvents" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote18SubsequentEvents"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote18SubsequentEvents">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock' xlink:label='us-gaap_ScheduleOfInventoryCurrentTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfInventoryCurrentTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<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-20231231.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-20231231.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/2023/country-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebtDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote5LongTermDebtDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebtDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:label='us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InterestIncomeSecuritiesTaxExempt' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link: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='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote8OptionsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<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-20231231.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/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<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-20231231.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/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/20231231/role/idr_DisclosureNote14LeasesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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-20231231.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/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple" xlink:href="utmd-20231231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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-20231231.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 [PPXK9NDL3JZWVDRZ9JZY]. www.edgarsuite.com -->
<schema xmlns='http://www.w3.org/2001/XMLSchema' xmlns:vip-n6='http://xbrl.sec.gov/vip-n6/2023' xmlns:country='http://xbrl.sec.gov/country/2023' xmlns:us-gaap='http://fasb.org/us-gaap/2023' xmlns:srt='http://fasb.org/srt/2023' xmlns:fil='http://www.utahmed.com/20231231' xmlns:dei='http://xbrl.sec.gov/dei/2023' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' xmlns:ecd='http://xbrl.sec.gov/ecd/2023' targetNamespace='http://www.utahmed.com/20231231' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2022-03-31' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xbrli='http://www.xbrl.org/2003/instance' elementFormDefault='qualified' attributeFormDefault='unqualified'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20231231_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-20231231_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-20231231_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-20231231_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/20231231/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/20231231/role/idr_DisclosureNote8Options" id="idr_DisclosureNote8Options">
				<link:definition>000160 - 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/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" id="idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure">
				<link:definition>000230 - 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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies">
				<link:definition>000420 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies">
				<link:definition>000280 - 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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables">
				<link:definition>000490 - 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/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies" id="idr_DisclosureNote6CommitmentsAndContingencies">
				<link:definition>000140 - 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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables">
				<link:definition>000540 - 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/20231231/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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables">
				<link:definition>000580 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables">
				<link:definition>000440 - 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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
				<link:definition>000670 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies">
				<link:definition>000290 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies">
				<link:definition>000370 - 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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables">
				<link:definition>000630 - 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/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" id="idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables">
				<link:definition>000600 - 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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables">
				<link:definition>000480 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies">
				<link:definition>000310 - 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/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" id="idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables">
				<link:definition>000640 - 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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies">
				<link:definition>000380 - 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/20231231/role/idr_DisclosureNote4PropertyAndEquipment" id="idr_DisclosureNote4PropertyAndEquipment">
				<link:definition>000120 - 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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies">
				<link:definition>000340 - 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/20231231/role/idr_DisclosureNote9GeographicInformation" id="idr_DisclosureNote9GeographicInformation">
				<link:definition>000170 - 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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables">
				<link:definition>000590 - 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/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" id="idr_DisclosureNote12ProductSaleAndPurchaseCommitments">
				<link:definition>000200 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails">
				<link:definition>000690 - 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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables">
				<link:definition>000570 - 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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables">
				<link:definition>000520 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPolicies">
				<link:definition>000090 - 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/20231231/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/20231231/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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables">
				<link:definition>000560 - 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/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables" id="idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables">
				<link:definition>000650 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, 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/20231231/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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables">
				<link:definition>000500 - 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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegion">
				<link:definition>000190 - 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/20231231/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/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements" id="idr_DisclosureNote17RecentAccountingPronouncements">
				<link:definition>000250 - 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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxes" id="idr_DisclosureNote7IncomeTaxes">
				<link:definition>000150 - 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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts">
				<link:definition>000100 - 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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" id="idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables">
				<link:definition>000610 - 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/20231231/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/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" id="idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies">
				<link:definition>000430 - 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/20231231/role/idr_DisclosureNote5LongTermDebt" id="idr_DisclosureNote5LongTermDebt">
				<link:definition>000130 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies">
				<link:definition>000330 - 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/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails" id="idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails">
				<link:definition>000980 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, 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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables">
				<link:definition>000470 - 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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables">
				<link:definition>000620 - 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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies">
				<link:definition>000300 - 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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
				<link:definition>000530 - 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/20231231/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/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans" id="idr_DisclosureNote13EmployeeBenefitPlans">
				<link:definition>000210 - 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/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" id="idr_DisclosureNote10GeographicLongLivedAssetsInformation">
				<link:definition>000180 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies">
				<link:definition>000390 - 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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
				<link:definition>000550 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies">
				<link:definition>000400 - 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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies">
				<link:definition>000350 - 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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies">
				<link:definition>000270 - 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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables">
				<link:definition>000450 - 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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables">
				<link:definition>000460 - 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/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" id="idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables">
				<link:definition>000660 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies">
				<link:definition>000410 - 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/20231231/role/idr_StatementTradingArrangementsByIndividual" id="idr_StatementTradingArrangementsByIndividual">
				<link:definition>000080 - Statement - Trading Arrangements, by Individual</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/20231231/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/20231231/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/20231231/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/20231231/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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies">
				<link:definition>000360 - 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/20231231/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/20231231/role/idr_DisclosureNote18SubsequentEvents" id="idr_DisclosureNote18SubsequentEvents">
				<link:definition>000260 - 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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies">
				<link:definition>000320 - 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/20231231/role/idr_DisclosureNote16EarningsPerShare" id="idr_DisclosureNote16EarningsPerShare">
				<link:definition>000240 - 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/20231231/role/idr_DisclosureNote14Leases" id="idr_DisclosureNote14Leases">
				<link:definition>000220 - 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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited">
				<link:definition>000110 - 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/20231231/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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
				<link:definition>000680 - 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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables">
				<link:definition>000510 - 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/2022-03-31/types.xsd' namespace='http://www.xbrl.org/dtr/type/2022-03-31'/>
	<import schemaLocation='https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd' namespace='http://xbrl.sec.gov/ecd/2023'/>
	<import namespace='http://xbrl.sec.gov/dei/2023' schemaLocation='https://xbrl.sec.gov/dei/2023/dei-2023.xsd'/>
	<import namespace='http://fasb.org/us-gaap/2023' schemaLocation='https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_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 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='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 nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_LitigationExpense' name='LitigationExpense'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
</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$ W #<  #_VP!#  (! 0$! 0(! 0$" @(" @0# @("
M @4$! ,$!@4&!@8%!@8&!PD(!@<)!P8&" L("0H*"@H*!@@+# L*# D*"@K_
MVP!# 0(" @(" @4# P4*!P8'"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_P  1" !> @T# 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#]_**** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBD+J."PH 6B@$'D&B@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HIKNJJ27Q5>SU.TO>8)X_EZ[6!S^M %JB@$$9!HH ,XZT
MWS8\[?,7/UIMTC/"45B,\9%?GA\=OVO/VZO@/_P5H^'?PFUH+<?!_P"(NI1:
M1I=CIOAA;JSC^1]]Q=ZD/*DM+LR#"6^)HW0$[@>  ?HGFBF1G."!VI] !111
M0 444AD11EG _&@!:*0.I&0PI: "BBB@ HHHH **** "BBB@ HHHH ***"<4
M (S!5R37Y;?\%>_^"UWC[]C[]LCX?_LD?LSZ3IOBKQ)J5Y:S>+-(5#<7!6:Y
MB2#3XUC5B)9(FF<KA9%W6[?=D.?J#_@K9_P4C\'_ /!,[]DO5/CKXCLFNM2O
M=0@T7PK8K8RW)NM1N#G_ %4;)YBQ0+<7+(TT"R"W\H31O*C5^</_  ;:_P#!
M/?QK\5OBAKG_  4O_:-\"ZNMQJFHRW/AW4O'5C<KK>M:G<6\+76L&60*GV1C
M)(T"(C*7N7S)(;.&1@#]OM'9VL$9UPW\0JU3((5AC$:#@"GT %%%% !1110
M4444 %%%% !1110 4444 %%%!.!0 452NM;L[6Y6V>X3>V2%9@.!U/ZC\ZMQ
MN)$5U8$,,Y% #J*** "BBB@ HHHH **YOQ[\6/AW\+K*+4_B9XXT?P_9W%Y%
M:6]WKFIPVD4T\C;8XE>9E5G9L*J@Y8\ &N@M;A+J+S8S\IZ4 24449H ****
M "BBB@ HHHH **** "D<D*2/2EKB_C]\<? 7[._PGU_XP_$C78=/T7P[I<U_
MJ5U,V%BAB4L[?E^= 'SS_P %7_\ @I;X!_X)[_ .ZUV_UR%?&>N0R6W@G1FM
M)9WO+K;DR%(OG\N,<L>@./7CXH_X-6O&'QS^-NJ_'CXW_$#XPZYK6FZIXLB6
M33=5UIK[=J$BF>2[C=N$!C=(RJD@%,=J_,3_ (*(?\%"O!G[9/[8'BWXO?%G
MQ?J>M:+=:+-;?#W3=!M7 @1;ADMMA+X,3D&1\!'D>,9.W;G]WO\ @WB_9QN/
M@+_P3?\ !FK:Y;3+KGC)9M?UIKJ/9-OG<[$D4 *'5% .T=^I/- 'W8BE55<]
M/[U.) &2:*1F &2: (-2NK>TLY+BYF6-$4EF9L!0.^:_)#X2[?\ @HO_ ,'!
M,WQ4OKFTU#P5\ /#-S!H-JP>.YM-0=_+\PCR8YD+2-O"R,\3IAHV89 ]I_X+
MJ?\ !036?@#\)[7]F']GOXGZ;H_QD^),+0^#%OK<7"JJSI"X\O#9DD:01IN4
MJ/F<@JC"O:/^"37[(.I_LD_LC^&_#?C;PQHMCX[UZQ@U;XB7VCZ3%9_:]5D3
M+"2.-556C0I'M50@*-@<DD ^HK=/+C50. H'6I*/>B@ HHHS0 'K7CO[<W[9
M7P5_8._9ZUG]I#X]^*?[-T+1X\100J&N-2NR&,-G;J2-\TA4A5R .6)55)'H
MWQ#^('A'X9^#=2\=>./$MGI.DZ7:27.H:E?2!8K:)5)9V)[ #\>E?@_\7O&?
M[17_  <,?MP^&OAOX8U/Q/X/^'7P[\5V^H:AHM]8Q?V7#I8E\Q;^=F#K/>W,
M6Q8871C%E]R!.7 /TL_X(G?\%1/$O_!5O]G#Q%^T%X@^#2>"X])\>76@V5FF
MK/>?:X8[>VG2XW-$F,BX\L@;ANB8[N<#[0&:\_\ V?/@1\+OV<OA5H?PC^#G
M@JS\-^'=#LU@L-'L5"1PKUY ^\Y)+,YY9BS$DDUW@EC!.7% $E%-$B$X#BG4
M %%%% !1110 4444 %%%% !6/XW\:>&_ 'AF^\7^+=?M--TW3[=[B\OKZ81P
MP1J"6=V/0 "M"[O%MQE6R?2OQ&_X+V?\%J]6L/&-U^QI\ ]6LKSPS<0W,/C'
M5_#UU'<ZI>W%NIE,%J1N%FL,T05[@@L"DA3!C5J /$OC_P#&#XP_\%]_^"HD
MG[)<?@>X^'1T33[G3-#76_ ,6M+IWAJ58IM2U*]-W.RV%Q(@M_LUQ9PQ3M+<
M0P/<(OES+^^/[./P&^%G[,WP7\._ SX)>$+70?"GAO3UM=&TFSC*I;Q[BY/S
M?,S,[,[.Y+N[,S,S,37Y]?\ !MQ_P2IU']B+X W7[0/QJ\(7&G_%#XG0QW.K
M6.HK%(VB:6EQ(]M8HX!=793'/-\V"WE(1^Y#']0$55&%% #ATHHS10 4444
M%%%% !1110 4444 %%%% !1110 5'<.JQG<^/RS4A('4U\Y_\%/OVQ=-_8K_
M &4O$GQ4T[RKWQ5_9DZ>#] %TD<VI7H486,.1OV!A(0,DA< $G% 'YF_M_?$
M[XI?M)?\'!7P2^&_P-^(.NF+P!XJMH_]!CA:UBMXHFGUA"R?-EHOW#K*4VB5
M#&)/,X_;BP8M:QL5ZIGZ5^1__!M7^QCXLO%\7_\ !1GXVZA:ZMK7Q&FE3PS>
M'3Y[6:"U>XEFN_W,H^1)9W'W<!UA1N^3^N<$7DQA 2?=NM #Z"P7DFBN?^*6
MD>+->^'NM:1X#UI=-UNYTJXBTG49$W+:W+1,(Y2.X5RK8]J -LWUF.#<I][;
M][OZ4])X9 3'*K8ZX-?B'\.O^"/O_!>CQ-^T7XB^)GQJ_;EL[*&.SDMK?4HO
M$U_-;ZRQ0@7"64,R);NX 23*KA'<QJ'"L/IC_@D'\'?^"K?[/?QKU?X/_M7_
M -I7'PWTWPY(VDZEJOB"+4EN+K[4PM9(I=[S+.Z&X:YC9W1=MLR%?,9% /TF
MS3)FVKD8S[U!J>HV^E6,M_>S1Q0PQEY))'"JB@9))/08[U\,_M2?\'$'_!,/
M]G?1+R7_ (:!M_%5]9:A-8W-EX/M7U V]T@;$<K(,1JSH5$F2N>_(H ^&/\
M@X$^+6I?M<?\%)/A;_P3Z^&6K_;;BUO+".\L='U1X;I+NZN%>1SLCX2*WC9F
M DC).T%^BU^WOP_T&/PIX.TWPS'=RSKI]G%;+//G?)L0+N.2>3C/7\Z_G!_X
M)7_\%3_V*O#O[>?Q"_;7_;)T7Q+:^)M9EFOO",W]E-J4R"<[&??D"*-8]L2H
M"1D;@0<BOT\;_@YD_P"">FB(UMXET_XA:>PNI(H6D\&NZS1HQ'F*RO@Y S@'
M(!!Z<T ?HVY(7(->!_MR?\%%OV:O^">W@_0_'G[3/C9M#T_Q!X@BT?26ATN>
M[DN+IE>0J$A5F "1M\Y&U3C)&1GYA\ _\'1W_!)?Q[XI@\,-\6->T-;B-]NJ
M>(O#$UK:1.J2-MD<YV9,9121@NRCO7Y,?M/?M?> O^"Q7_!0S0_$'[8/[07A
MOX8_#70?%&GJO@G6FD1[/2+9!,S?:O*95U*5[R2VGMU"[9$4/O6V5J /Z>-'
MU2SUFQ6_L+B.6.3E9(F#*00".1UX(JU7&_!GQ[\,/%?A6WT[X5>*M!U33=+C
M2SC;P[<026L'EJ%$:B E$  &$'W1@>E=EG- !1110 4444 %%%->6-!\S#\:
M "6143EL5^$O_!PI_P %-+7]H/XM7?\ P3%_9J\+W'B^>QGA7Q!J6DB2^MVU
MB5IK1-,DMX<99)FA7<Q94E<90L@%?2G_  7V_P""W[_L2>!/^&?/V8C'K'Q-
M\3M+83:M#"TMGX341QR2//)Q&UX89HY%AR3!&RSS+LD@$O+?\$BO^"3'P;_X
M)C? K7?^"C7[3GF)\0+[P[+K;-XKN&\WP3I?E&3[/*9$0G4/+"K<RE(PLF^*
M-40,TH!^7%W_ ,$D+7PE^U]\&_V)/&E]:?\ "TO$#6-_XPTM=6VKHT4]R9DM
M8O)0H_E0+)YS$A@TBB/(&:_J<^'_ (0T;P'X2TWP?X;L5M=.TNRCM;.W3_EG
M&BA5'N<#KWZU^/?_  ;T_#OQM^U[^V'\8?\ @I+\6=97Q%I]UK5Q#X!U*:UD
MA6UFN@K7,<:,@Q)#"L5NYW, 2,%MVZOV> 6&,*.@XH 5F51EC7S=_P %+O\
M@H_\"_\ @F_^S_J'Q8^+6O*=2N+>>/PGX;MY%^V:S>*O$,2M_"-P9W/"KZL5
M4^D?M/?M*_#']EGX-^(/C=\5O$<>GZ)X;TV2\OGD9%:X(5O+MH1(RB6>5]L<
M<0(:21T48W U^2?[*?P.^.?_  79_;-L/^"A'QD_X0[0OA)H6FRZ3H5CX=M]
M0?4KB.*YANK>U634+5(8IXI6<RZA8;7$@EA20,H, !V__!$[]A+Q[^T-^TO)
M_P %??VM/&^H>*-8U;2/^+;W&K>'%TB2XBEDN/,O&LS+,1&L<J1V\A9?D"D*
M-B,WZIW'Q=^&.C^,K/X<7_C[1[?7KZU>>PT6XU*-+RZA0[7DCA+"210>"RJ0
M.]?-?_!23_@J!^SI_P $M_A?I-QXWUS2V\2^*+DV'@CPS)?-!'.Z;$9Y71)6
MM[6'*^9,(RJY4!2S '\ /CY^SU^VA\8OA+XT_P""N'Q/^%IOIO%GC2XTG0]-
MFU\74NK)=2LJRZ=:V5L',,,<6!=1W*;V3S$+IN! /ZOE=6^ZU,EO+:$XEE5>
M,\GKT_Q%?-__  3+^-/B+Q]_P3C^$WQ=^*?B*-M0O?A]9W.JW5TB0*GEQ!7=
MR JKA5Y)P.#7YF_M0_\ !9O]K_\ X*<_M,W/["?_  23T?6-.MUU!XO^%A6&
MH01I?6\+;+B[NY%7[1I&GK)M=+E"+B4 1)'YDZ+& ?M1I7Q$\&Z[XJU'P1HG
MBO3;K5M'C@?5M,M[Z-[BR6;?Y1EC!W1A_+?;N W;&QG!K7O)S$F5^GTKY>_X
M)9?\$[--_P""=_P)N/"FL^+[CQ-XS\279U+QMXHOI))9+RZ=GD\B.28F7[-$
M\TWEJ[$[II9#\\KD^%?\%L/^"O>G_LJ:->_LF? ;7=0B^*VN^'VNI-8TW25O
M%\,6<FZ.*Y>.1XP\KN&6-%+."I(1V"HP!\5?\%O/VL_VH_VZ/VU;C_@F;^RC
MXTC\:^!-8A6WU+0_#<4-M<6VM6MO+,ZM>Y+/$&"!]RB)6(0G=R,[]B[]GO\
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
MVA?@=XTAUOPGXFL3=Z/JL4,D2RQAV1LK*JNA5T92&4$$<B@#T3(SBBL/X?\
MQ!\%?$[PY%XM\ >+],US39I)(X]0TB^2X@=T<HZAT)4E65E(SP00>16Y0 44
M5'=W-O:PM+<S+&BKEF9@ !^- &;XN\6Z-X.T>Z\0>(=2@LK&RMVFO+RYD"1P
M1J,EV8X 4 <FOP&^->J?$3_@XQ_X*<Z-\)O!_BZQMOA!X'G>]AAMM0D-Y96<
M$P#WI: ;$>[92L1\PNJCD+@5[/\ \%W_ /@HOKW[6/QML_\ @CK^Q+XM\2?\
M)WJ?B.TT_P 6+I=@MM9:E'*FZ6R?4))%-ND2E)))$CDC.X(<X91]_P#_  2>
M_P"";?PL_P"":_[.MO\ "CP8MO>ZY?W+7WBKQ +5$FO[M^JEEBC+QQCY$)49
M SA=V  ?0/PF^&/A+X1>!-)\ ^"-#CTW2='T^.ST^QA/RPQ(H51^0KI)KF&"
M-II&^5?O8YQ27$\4$>7;;Z5^0G_!Q5_P6;?X+Z#J'_!/C]FMFD^('BJV:P\5
MZY(QCMM$M984<V"2[>;JYAFC4E63R$N(W\R,R1NH!^O4&H65S)Y5O<JS;=V%
M;J/7]:D:2,<,P].:_-W_ ()D>*/%O_!)+_@D)I7Q(_X*/_$"31TMIFU2/2Y]
M-D:YT*WU!HG@TIHUB5S/]HDD.PJ/+:X\HG]UN/E_A'_@Z$^$GQA_X*,^!?V;
M_A7X/MU^&>O:>JZUXQUZ:..[M;Z2W\]?]7.88+>(965G+$L&"D;>0#]:I+NP
M7.6^[DMM4]OPJ6+R2N5YQSTZ5_/#_P %-O\ @MW^T;^T%_P4'\*_!?\ 8[^*
M-YHOAVP\5:;I?AMH=4GM-)\0S7%S;>7JC7MG=I]NMV<M&L7EM&86=@K.=R_I
M_P#M:_\ !8GP[^Q1^V'\$_V,_&_P0UG7+CXJ7MIINH>,-&N-MCI%[<7"6T4(
M5HRUP_FNA==T92*:-QO9@E 'V=XT\-Z=XR\,WWA75EW6NHV<EO<JP!#1NNUA
MCW!K^:G_ (*[?\$Q_P!DK_@G]'X)_9;^ NLZQXO^-7B+4I]9FU:\U2"VNCI;
MF&&*#[/&@AD=IDWKN4MA9RN6P*_H[^+/Q6\'?"7X8:S\4/B%K4.FZ3H6E7&H
MZG=7#".."WA7=(S%P H ZENE?R>?MS_M*?$W]KK]K+Q-^TQKNK:#<+K5\]G;
MZ;I=NUT]O9)B58;E[B%[>(V\"1.)4WV[.6EMS(6DE !^H5Q_P:L?#WQAX?\
MAYK_ (<^*=AH\VGV>F_\)MX;UC2_MMC<S1@&<1E'4K(P.TL"4+ D#!(K[8^(
M/_!)[_@CC\(OAG>>.?BK^R=\/+'0?"]BUQJ>H75BZQP1I'M9MH8\L,*$49;*
MJ <@5\%_"7]K?QA_P19_X(E^%?ACXC\0W>K?&?XJP:IK?@_2;.W:[N]-M+E0
M5OYH2Z2^4J!&5LJ TBYP04K\X_V??BQ\9OCU::]H?Q5_:%OK#P6_B*/Q5\1_
MB!KOB1I6:]DB,"/=V;17#W:KMG3[(D8:7S<&14+RJ 7?^"E'Q)_85_:)_:TT
M/P1^PS^SMX?\-^!;+4)=,M=)\'^'YC<>,IMT<T!,RF.=5GE\NV90N;8HSJTI
M8@?N?_P3M_X(.?LE?!+]D*W^%'[37P7\/^/O$^N7VH:EXHU/Q%&+Z9WNKJ"9
M8?.95R42TL@SJJB22%Y JB0K7RS_ ,$0?^":/Q+_ &@?C[X1_P""DGQ]^&]K
MX#T'P/9S:9X#\$1^$5LKG5Y4LSIRZA>37+R75U;BW)DB,^R0S.Y54B1#<?M?
M:VL-I'LB3'.30!RWPH^"WPV^"?A:W\$?"OP5IOA_1K*-8[/3-*LT@BA545
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
M;R[9W##R6(CSNDPAS][AL?96A:19Z+I%OI6G6$-K;V\*QP6UO&$2)%& J@<
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
FJH%[4ZBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH __]D!

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$ W #<  #_VP!#  (! 0$! 0(! 0$" @(" @0# @("
M @4$! ,$!@4&!@8%!@8&!PD(!@<)!P8&" L("0H*"@H*!@@+# L*# D*"@K_
MVP!# 0(" @(" @4# P4*!P8'"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_P  1" !G C\# 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#]_**** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH ***:TBI]Z@!U% .>E% !114=S(T4+.BY/8?A0!)
M17QO^T+_ ,%DO@'^S5^W3X1_81\=>$?%%QK7BJ;3H9_$FEVL-SIFD3:C++!8
MP7)BF>>&269(U"R1)\MQ%(NY-Y3["L7D>T1I?O$<T 34444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%8OCCQ_P"$/ASX8U'QMXX\
M3Z?HVC:/8S7NK:QJUXEO:65M#&TDLTTLA"1QI&CNS,0%5220!F@#Y]_X*H?\
M%&_!O_!,S]F>Z_:#\8>#-9\12-J,6F:'H6AQ2;[R]E1W"S3".1;6%8XI&:9E
M<#;@([LB-ZI^R;^T#H?[4_[//@?]HKP[IMU8V7CKP;IOB&ST^]QYMM#>0+.B
M/@D;@'P2I*D@X)&,?SX?MK?&3XR?\%Z?^"KVB?LJ^%]MCX=M=<NM-\%V&M:9
M!=2>%]+@++J>L7%FWER0WCK:LS6MX4Y>VA\F1ML\7]$GP#^#/@#]GWX4Z#\&
MOA3X9_L?PSX8TF#2M!TW[0\S6]G @CAC,CLSR80 ;W9G.,LS-EB =G1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%,\^/(7=R>U #Z* <C-% !
M1110 4444 %%%-DD6-=SF@!U%-$J$9#?K3@<C- !1110 4444 %%%% !1110
M 4444 %%%!.!DT ->5$X9L<9KX]_X+ ?\%4_ O\ P3*_9QN?B%*FEZGXRU7=
M;^"?#>IWCPQ7DZ/&)IYBB,PMX%FC=POS2%HH4*O,C#WS]JW]H[X5?LG? 7Q)
M^T1\9]=BL/#?A?33=:C,]S%$TFYA'%!&9G2/S997CAC#NJF21 6 .:_EW_X*
M2_M;?$?]N'XNZ3^U1XC\/R6>OR:I=>%_#/V?3TVZU8I+(USHMM%<M)*T,3,8
MXV:TN!/)J5W'<2QI-#I5F ?TK?\ !.']KR\_;F_8S\"_M/3>%ET>X\46-P;S
M3X9B\,=Q;W4UK(T+LB&2!W@9XV*@M&\;$<Y/O5>/_L$? =OV8_V-OA?^SY>0
MV?VSP3X!TG1=2FL;588[F]MK5([FX"CH99EDE)R2S2%B226/L% !3)]PCRHY
M%/KS/]J_]IKX8?LD? CQ5^T)\8O$2Z;X;\(Z/-J&J7#%-SJHVI#&KE0\LLC)
M%&FY=\CJ@.6 H _*G_@XTT3PK^UM^W1^RO\ L*3V\UO>:GXTC?6M7_X1^26:
MWLM1U"TA9;.\ ,<4R6]G>S2PS#:RQV\G)"D?LUID9AL4B+%MN1N9BQ/)YR>O
MUK\;_P#@B5\!_B1^VS_P4"^+?_!7_P#:/TW2TM[[5)=-^'T&@>(#?V<CE9H?
MM N+<10SO8Z>\6E1S1Q1!Q]J:2,3EYI_V61=J[<4 .HHHH **** "N7^(OQ6
M\"_";PM?>._B3XSTO0=#TNW:?4M7UF^CM;>WC499WDDPJJ!R22  #Z5N:YKN
MF>'M-FUC5KV&WM;>%I;BXN) D<4:C+.['A549)8D  5_._\ \% _VL/C?_P<
M%?MD>'_V5_V)/"-OXB^&WAGQ)'J6B66OK<VNDZLL!6*\U359K>>&\L+3RG=8
MV0I)+:WXV*EY)%&X!_0IX#\=^%/B3X3TWQUX&\2Z?K&C:QI\5[I.K:3>)<VM
M];2*'CGAFC)26-U(974E6!!!((K8KRG]BG]G]/V5/V7O /[-J^)?[:;P-X/L
M-%DUC["+47[6\"1&<0AW$(<J6$8=@@(4,V-Q]6H **** "BBB@ HHHH ****
M "BBB@ HHIKR*@Y- !-*D,;22' 49K\>?^#G/_@HUHO@_P"&^H?L ^"O%.I:
M==>)-#_M#XF:UH>DO<7VGZ+YL?\ HMINN[2)WGR$N%\UF%I,<Q-'*\D?VE_P
M5T_X*??#'_@F=^R?K/QD\37MO<^)[^.33/AWX=EM7G35-9DB?[.+A4="EHC
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
MA(9D6V:%Y+R-Q9K)'+$DB6UMYO\ \%]_VP_V"O\ @IK\#?A1XQ_9&_:=\/\
MB+Q7H_BC5M T?0=,NM1C\2W*ZI ;9H;?2XK9KF=)WM8XMDL<4<RW,2&5%E)K
M]COV&OC=K_[17[%?PM_:%\2VME;ZMXV^&NB:_J5OI43K;0W-Y913RQPAW=A&
MKNP4,S$*!\S=2 >%_'!/V8O^"%__  3"UR3X-V'_  C'A_PCI\D/ABUOKY[B
M;4];O9B(Y)976:665[B7S9&$<@CBC8B(Q0B(?$O_  :J?&/XS#0_B=K'[1WQ
MW\0"S^(&M6-_X-T#XE:Y_P 3#4=6%M<7^I3:?]HN6N]1C.F7.AW4MTT:*_VH
ME05A,LORG_P</?\ !1[1OVP?VX;7]FWP3>PKX=^$_B36O"TT<WB*/35O]55$
MBU2:9M0M8K:#:X>V0?:)5=+>974QWZJ?*O@;XKL/"7[8?[-W[2OQ)^)7A3P3
M\-_!'B1#IOB/2_%D>I1P:-I5LNI2VB)O1DFNX_M[W-LN^]DN];#W%E:O?Z=;
M, ?O3_P6*_X*S_#G_@E3^S-'\7M9\.+XG\1Z_J;:7X1\&QZ@+:6^G";I;B4X
M,D=K NWS)%C?#SVT9V&=6'@O_!/W_@MS\1/$W[-.L?M!?\%(_#WAGPJEQXT;
M0O J_#GPOKMU=ZV%%O%-=+IWEW=U':)>3P637.X@7<HM98K>X'DO^6?QM^(G
MQZ_X+Z?M\_%C]J+X0>&]7TCP1\%?A#J]Y#IL=Q=7)N-/M8;R6#1P^GE4:[U-
MW>-XTG9<&=XY+E+=8I.*_P""<WPS_8^_;X^.NIP_MQ?M0Z;X#\.Z#:I_:T:>
M"S')J.DV]M%96*IJMQ!<P>&K6.26&U^:XCB=WLK:"%)I%D(!]O?M>_\ !WSJ
M\-I<2_L??L]Z/:V^W3/L.J?$S6#<SGSWG,LKV.D221*(HX2K1O?+<!YHV6!U
M27;YA\7O^#AS_@M'\,+_ ,-Q?&;X>Z!\,].\236Z0>(O$/P@U2QTZR^TF7R[
MEU>>[NI$69+D"+RO->VLHY1"SW!$?Z0?!#]H/_@@)^Q+IMMK_P"R;XR^%MYJ
M330Z;-??#.QG\8^)9%N[N.",7$UBE[J)@DNIX(0T[>7Y]Q!#DR31*WX._P#!
M0_\ :.^+G_!8']IOQ=^U=<6M]8?#WPKH]U*MXTT<:>&?#MI>JL81+V6WBFU%
MQ=12&UBN9'N)[V-$\OC8 ?TQ?"[]O_P O_!.GPK^WW^T+=VO@71-4^'>E^*?
M$9U&X(33UNK:.4Q)QOF9I)!%"JKOF=XU5,N!7QS_ ,$*/^"X7QN_X*2_M1>/
M/@O\9O ^AZ'I+^!;;QE\-X]-T.YM9#IZW"65["T[W$T=Y'%=.(UG'E,[I,6B
MA.ZVMO@W]H?_ (*K_M;_ /!=;XH^&_V4_P!C#]G;^R])T71X[N3P#;^*IIK6
M^FDA"7%QJ-Q!]DA_LZ NMDL#RPH7NE++=/<0VMO[Q^S1_P $J/B;_P $R?\
M@M?\,9?@]\,?%FJ?#7PW\.]0O_$'Q(AT=1I\D4GAZ[M9;:^N!;HANWU2WBEC
MMOM#K%#/:[%^:5E /TN_X*J?\%.?A%_P2U_9_'QF^)#QZEK&K:A'IWA#PB=0
M>UDUBZ9D# 2)!.8HHD;S)9C&P55V@-(\4<G(?\$M/^"QGPO_ ."A?[!^H?MF
M>//#]I\+X/#'B"\T/QI_PDGB"(:98W4"03><E[)Y0\AH+NV;=*L6QW=,N$\U
MOPB^%_Q(\-_\%NO^"@/B/]H;_@H'^V-X-^$_@7[=*+K3?$?CF&UFT+28RL5K
MI.E_:H5@>26"6X7SXR%61;JZDC$A@61O_!6']JGP!K^KZ'^Q=^R[XUTGPW^S
MK\.]+O6T+PSX1U33M2TW5&6X:./Q!=G3IKK[1>7,H(%IJ"6SQ>9"1Y,ES(Z
M']"'['?_  5V_8:_;8_:%\7?LQ?L\_%Y?$'B;PGIZZINM;>26RU32_+LMU_:
M72!H7B2>]2V>-W299H908]JAS]3 DC)K\DO^#9?_ ()I?$_]F#PGXD_:M_:#
M^'UUX9\:>,M-AT#1_#FL>#1H^HZ3HUK<22M-)F5Y&^VNT$C13)"\!LTB1?)2
M%8_UK3[@Q0 ZAC@9HJ.YW_9W\M<MM.T;MN3]>WUH ^;O^"G/_!1SX._\$X/V
M>6^+WQ2O;?[5JNJ6VC>&=-N+F6%;V^N) N6:&">5((8]\\TB0RNL43>7%-(R
M1-^8W_!'_P#X)G?$O]O3]HV?_@J%^WWK&M^-M L=6COOA;_PE4GGMXON_,C+
M:ZJSV=M)9:2LEO%)8VHM[?,>T,D4(,=QX1_P65_;4^#?[9O_  5X/[//QU^.
M5[X3^#OP]U*7POXNO$\.KJBZ9;([#5+NV%H-0*WEU(5L4E^S+);M%#O,!$L<
MOZ[_ ++W_!83_@D+XN^&D=I\'/VL/AWX;\.>&[*VL[.PU2%_"MK9V:+';1?9
M[?4(X!]E0B.!&A#0J0L8;(Q0!]C:; L$&%4^Y/<\\_KU[U2\1^)M.\/:5=ZO
MJVH165G9V[S7FH7#!8;:-%+,[L2 JA022>!CDBO#O^'M7_!+IY%C@_X*-? B
M3KED^+VBG&"/^GG/0YZ8 !)Q7YT_\%WO^"V'[,WQ._9?\2_LP?L4?M$Q^)/$
MFI7UK!XNOO!\+W<":++:?:;E8)(^+\"W5Y9Q%YENL%O<V]U+"\L<4H!\M_\
M!3[]O_XM_P#!:3]MSPO^P]^R!XENI/#\>I:A'\._["NBD>HZQ;27L4FK7LTD
M2#[*UE!</&;:?,-M<BY#2S2O8P_?VO?$+]FO_@VA_P""5.@^%H[^W\4>,]2O
MO.@TF;6&M9/%>OS^4=1NK<+$PM;2&$!U14"+'!#%N:>56F\E_P"#5'PO^QRW
MPX^(GQ)^'M[=7OQCFNX;;XD)J.@7D T"V-S<I:6,,UV9)&:8PO=7(69LW$B!
MR=D8K\S?VX/'7[>7_!3+_@H3XL\+2?LW>)/%'CYKV]TI?#5OI.HS77@:QBN6
MLDL51]UE:H T4CW4J.@GN%N!/!(RK; 'NWB;_@X0_;"_:7_:S^$C:KXF;P=8
M^$O$?A=O%GAWX9:Y&VGZZ9-0TZ*^98H;NZDU\2K=31)I=O')-$%BGWL8KB,>
M<?\ !;[_ (*M_%[_ (*,>)=/UGPIIGB[0OA7X3C&I>'M!;3[J.ZL&-W:I%K]
M^+:5(X[B5)H([=96)B2^94$8N(;NZ^F/@S_P:E_M5Z)^TQI+_%/XI^"(?!=U
MHOVKQ%KFES?VO=6UXWV6.YM8;;5+39=M+$U[#%/=+-'"LIG\M9%2!_H7_@K_
M /\ !!?7/BA^RE\-_AO_ ,$_/ ^F7NI> -6O9-4\.>(M85+CQ3_:$FGR7E]/
M>S+YAO3+9QM)()H':.XN5$@#",@'/>.?VS/B-_P3%_X((?LYZ3\#O%=II'CK
MQ]I.GW:ZU>VZWD.@:=J+_;K_ %<6]M8WL7V:WEU.T58U@>-$NX419'$<$GZ+
M_P#!,[XS_&;XT_L%?#/XQ_M!36=YXLU[PG#<WVJ:=<@P^(1DK;ZO%&+>W,$=
M_ (;U(&AB>!;I8GC1HV4?G!_P6X_X)%_M3?%+]C/]E7]G;]G;P9+\0I/A'X>
M7P1XDN-/O#I\C--I^F:?!J@AW-$D"O:/+*SNPBBE=2P#NR_K?HGA;0_ _P &
M[?PQ\)/#=GH]AIF@QV?AO3M*MXH;:QAAMUCMH8D3,:1HJHJJORA5 &0!0!^!
M_P#P<T?MW6G[17[6EC^Q_P##:\\0W6G^!-,N)HET/2X)[36]2E+0WB0R!)_M
MRQ[+BSE5O(2SN+&]W_:)HUAC\5_X(;?LI_#OQS^V_<_M/?'KXD^&X? '[.>F
MV'C/Q3XJAO(KC272VT^*'0##?3S&[21Y5GN7MFBA%JVG+;/#'*\<%K\K^+_"
M_P ?OB_XF^)'CGQ+\&/&FJ7WP^NKJP^)NMZDVKZ[>6<BO'#;MKCW)"VC[]/E
M5KB:,1"2$$VT>R-:^_/#7C"[^(__  ;Q>(/!/[/_ .RG\4M#T+PGXHL/$GQ!
M^(%Y9QW5KXXC%W=/=WT1$<0O(;273[5)HU29;".U42O<16LCR@'C_P#P4 _X
M*!_&C_@H_P#M2ZY\2].\3W&H>"-*MKRRT;X5Z#>32?\ "(P6E_&MIJ=_&SC2
M-0O;R4H8EM+JX>X)@ABECE-JPP_V%?AI\1?C:UG^RS^S%IGB34/CUX]T"Y%W
M>:A;S:'I_P -M'M[M\Z?/*EJ]U/;7J6[;XXFAM;=;NWBS-///-!L?L$_\$^O
MV\?^"K/B_P %_"K5O!J>%_A-X8TV34(?'5UX3N[31]3BFNK&VOI(;I8O^)I/
M)#:P00V3S10Q):!(TM4MW@/]$O[!?_!-S]F#_@GK\/O^$+^ 7@MH[VZA@36O
M%6K,)]7U?RH4BB^TS@ ;%1 $@B6.WB'$42 D4 4O^"9O_!/'X8?\$[/V=[3X
M4^$T.H>(=3:/4O'7BBYFFFFUC56AC260/,\DBP+L$<,1=O+C10S2.7E?Z.H4
M;5VT4 %%%% !1110 4444 %?DK_P=8_L[?MC_M(? /X=^%_V8/A]XB\6Z+#X
MFOAXQT#PWH\]]+).]LHT^62*W!D\I<7D9D.8HVN$,H52KK^M55[BPCGF^T9P
MPQVZX]?7^E 'Q/\ \$8O^"5MI^P#\'K[Q[\5"NJ?&;XD3#5_B5X@N'-U<6]Q
M*!(VFQWDLDL]Q%'(69Y9)7::9I),JA2./[<DA+6[0@*,C'M3HHTAC6*-%55&
M%51@ >E.H _';_@K-^P!^VK^SC_P4(T[_@KS_P $YM$O-8\136%I#\1=!T[3
M&U*2Z5=UK-))I\/^D7\,]I':P_9[8(\;PM.)(B&>O&O%O[1'_!P[_P %3_AW
M:_#CX>_"+5/!7AKQ?I/E7WB/P_H\GAK0;VWC=)FG2ZU'?J,MG=Q7%O&&M;A/
M,MX&DC,S27%E!^]%W9Q7D?ER*..5SV/;BHX-,6#&",+NVJ5'&3D\XSS0!^;_
M /P3 _X-[OV>_P!D&ZTGXR_'32=!\;_$ZSO&OXKK^P[5](T:Y:2WE$MDKVZR
M-*KVL$JS.=D,RR-:Q6HED0_I/#!' I2-, MFE6&%&WK"H;ID+3J .9^)_P .
M].^)7@K5/!>JZAJ%O;ZMIES937&DZA):W<"S1-$TEO-&P:WF"N=LJX93TZU^
M,_B__@T"\/\ C;XVZI=Q_M+V/A[X<WTEU,L/A_P6BZY,96#"&0F06H&[:S.D
M:PCR5$%K:AV(_;X@'@BD*J>JC\J /GG]@'_@FY^S!_P3L^$T/PC_ &<_ ,=E
M#]GCBU?7M05)M5ULQO*Z/>3A%\P*\\S+&BI%&9GV(H)SUW[2W[%/[.7[8$.B
M6/[2/PKTCQ9;>'=2^VZ-'J,3JUO(T9CFCWQLK-!-&3'-;L3#/&3'*DB';7K.
MU<[MO/3-% %>SL5M0,1QA@-N4&/E' _3%<9^T7\';+X]_![Q5\'M2US4M+MO
M%7AN^T:XU+1[AH;NS2YMY(6GB=<$2()"5.< \X]>[H(!ZB@#XU_9C_X)(_!O
MX!?\$X+_ /X)M^+IM/\ %V@Z_!K"^*M>_P"$1M;&35+B^NII4NVM@)(UG@1X
M(XI#NV"RAVX"(J_GR?\ @T9\>3>-]6AU?]H_P7KFBZTN)O$?B;POJMQJEK*J
M2@74-I9W]I"9FWJ'\^:?<\8F),FX-^Z! /!%&!Z4 ?+_ /P3\_X)6?LX?\$_
MO""K\/;2Z\1>-+J.8:Y\2O%T<<^MZAYLIEDB,RJ/*MS,3+Y*85I6::3S9WDG
MD^EGTJWD78R<'KCC^0[=O2K0 '044 <YXV\,ZOKGAF[\.^'?$=WH<\]N8X-6
MT^WMY)K9BI4/&L\4L6X=1OC=> "I&17XF>+/^#1;Q;<_%>^UWX8_'3PYHNA7
MDT]O%_;-G-JSVEJ]VTBSQP2Q*RS1H5,<?VG!:-%EEE4R^9^ZU&U<YVT ?,/_
M  2R_P"";'@'_@F3^SY'\$_!WB6;7K^\O%OO$WB2;2XK$ZK>);16B2_9X28X
M0(+>%>"SNRM)+)++(\C?3U%% !1110 4444 %5]4M)+VT:"-]I/?\,58HH _
M%+]B7_@TZ\)_#']IKQ5XP_:T\2:7XD^'FE^)H+GX8Z'X?\07OVW4+6%[P12:
MS((;81W 5[>5OLY8^:&1)8K<&&7]B_"/@+PI\*OAMI?PZ\ ^'+#1]%T'3+?3
M])TG3;=8+:RM8E6..&*--JHB(H557:   ,=NAVKG=M&?6F741GMVA 7YAC#=
M#0!^%'_!#/PUX_\ VY/^"U'QV_;[^)XTN1O#5G.BQQWUY8ZB);Z[2STVRN[%
M7,9BL;71;M?)N52997@GQ,HMI(OW8BC,<6P>E<AX(^!/PL^'GCGQ!\2?!_PS
M\-Z9X@\6W4%SXJU[3='A@O=6FAB:*%[F9$#W!C1W1#(Q*K(X& Q![*@#SOXZ
M?LJ?L_?M-6&GZ'^T'\&_"_C;3=+OUO;*Q\5:'#?Q0W"AE\P),K+DJ[+TY!P<
M@XKJ/!GP]\(_#OPMI_@?P-X;T_1M%T>QBLM'TC2+1+6UL;:- B0PQ1@+&BJ
MH50%    K<HH _*WX^?\&IO["'Q9^)MUXQ^'OCKQK\/]&U;7(]4U;PKX9>S:
MPBF68RAK-)K9A"P$MPJ^;]H2)9=D21I\A_1[X#_!?PA\ ?@UX7^!7@'3Y+3P
M_P"#_#=CHFBVDUR9GCM+6!((E9SRQV(N6/).2>22>T*@G)6B@#X5U;_@WQ_X
M)N^(/VP/$W[7WB[X+Q^(-2\5:S%KM]X>UZ8WFFC6!/<S3WI24L\BS&X7?:,W
MV4F%#Y)(7;\3?MP?\&Z_[5W[8_\ P5>\<?'6W\=^$_#?P\\5ZCH.K6OC2W6Y
MGU33Q8Z6M@UM''%+ RW1N(HY@H8Q;4CE\R-HS;2_N& !R!33#$008E^;K\O6
M@#P?]D+]@+]G;]C7]GVX_9N^#?@F-/"^H-.^L6^L(ER^LS3QK%//> H$E9XT
M2(H$6-88HH41(XU0?&OQ[_X-;?V(?BS\0M,^(_PY\9^,/ \VFQPQ0Z'!'8ZK
MI9AC+L(S%?V\LTH 9(E$D[K';PK;HJQ[0GZB8'I2%5;[RC\J /R;\ ?\&G_[
M(>E^.9_'?Q8^/_Q"\87,UP\LUC?6NF?8[HS1F*Z,Z36LS-++'L#7,;PW(93*
M)O.*RIZ3X$_X-KOV$/!%S\6+6>TU6^TSXK:.=(DL_L>F6HT"Q:2&5X+/[/9H
MJCS+>V9&9&,9MHW&9C),_P"CF,=!1M7.=M 'A_[#7[!GP(_8+^#T/PI^"NEW
M\C210?VQXE\07WVO6-9DAA2".2\N2H\PI%&D:(JI%%&JQQ1QHH6O8KO3(TMV
M$=N),]8]N=W^/XU>HH _)G7_ /@U,_9W&MZAIOPM_:K^(WAGP-?^(YM7'P[G
MG_M"QLUE39+;0O(R/AT_<-<$FZ>VW0R2OYTTC\/^P=_P30^/W[#_ /P6>U'X
M?^/O@9>?$;X'G1-1UCX:_$G7O#UC>?\ "/ZE/(MRU_/=S-YPU61DDM)YANN+
ME([5MJ6T$26W[/8 Z"FF" N)#"NY<[6VC(SUH BL+6*VMHTBCVC8O'IQBIZ
M !@"B@ J.YC:6W>)6VEE(##M4E% 'YI?M1?\&RG[#W[67QW\9_'/XB>.?B%I
ML_BC5+C48]-\/ZI;+'875P[SW3PM?6]TR++<RSW.R,QQK-<S-M;]UY7#:_\
M\&FO[%\6@ZIX<^&?QP^)&AZ;KEP9KO2[I=-N(+49;8D#K:Q7("I+/!F:XF)A
MGE5][2,]?K-@>E)L3.=@_*@#\=?#W_!H1^S;H&D6_A_4?VJO'&M:?IVH?;M)
MTW6=+MY+:RE:6-Y_*B1E1//6"*.4A<LBJ.&1'7W_ /8I_P"#;3_@G#^QW<ZK
MKUWX"OOB9X@UW3Y+#5-9^)3I>1M!,L?G1I:(B6X5FCW;G228;F!F(=@?T+95
M8890?J*7 ]* .*^#W[/WPF^ /@&S^%/P7\":3X7\+:;YO]G>&]!T^*SLK7S9
MGFD*11* "TDCL?5F)ZDDIX,_9Y^#7P\^(7B#XJ>!?A9X;T7Q)XLDCD\4^(-'
MT6"UOM9:/=Y;7<\2+)<E-[!?-9]N3MV[CGMJ* &J@5=N*=@>E%% $=Q:QW"[
M''T/I37LU=%1CN"D'YN_OTJ:B@"I%I,$/$?RJ.%4'C_ZU/.GP[/+4?+MQM8Y
M'^?PJQ10!5ATR.!LI_"<K\Q_'^=6E&!@T44 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
&444 ?__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831328560">
<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, 2023</div></th>
<th class="th"><div>Mar. 25, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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,  2023<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,589,014<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">$ 313,392,922<span></span>
</td>
</tr>
<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">2023<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 due to error correction.</p></div>
<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>19
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918913392">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">$ 92,868<span></span>
</td>
<td class="nump">$ 75,052<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts and other receivables, net (note 2)</a></td>
<td class="nump">3,391<span></span>
</td>
<td class="nump">5,538<span></span>
</td>
</tr>
<tr class="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">9,582<span></span>
</td>
<td class="nump">8,814<span></span>
</td>
</tr>
<tr class="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">428<span></span>
</td>
<td class="nump">515<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">106,269<span></span>
</td>
<td class="nump">89,919<span></span>
</td>
</tr>
<tr class="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,551<span></span>
</td>
<td class="nump">10,224<span></span>
</td>
</tr>
<tr class="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,692<span></span>
</td>
<td class="nump">13,354<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Other intangible assets (note 2)</a></td>
<td class="nump">$ 54,296<span></span>
</td>
<td class="nump">$ 52,755<span></span>
</td>
</tr>
<tr class="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">$ (49,350)<span></span>
</td>
<td class="num">$ (42,378)<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">4,946<span></span>
</td>
<td class="nump">10,377<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">135,458<span></span>
</td>
<td class="nump">123,874<span></span>
</td>
</tr>
<tr class="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">769<span></span>
</td>
<td class="nump">1,218<span></span>
</td>
</tr>
<tr class="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">$ 3,941<span></span>
</td>
<td class="nump">4,742<span></span>
</td>
</tr>
<tr class="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">$ 4,710<span></span>
</td>
<td class="nump">5,960<span></span>
</td>
</tr>
<tr class="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">295<span></span>
</td>
<td class="nump">341<span></span>
</td>
</tr>
<tr class="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">698<span></span>
</td>
<td class="nump">1,256<span></span>
</td>
</tr>
<tr class="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,120<span></span>
</td>
<td class="nump">1,514<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes (note 7)</a></td>
<td class="nump">322<span></span>
</td>
<td class="nump">549<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">7,145<span></span>
</td>
<td class="nump">9,620<span></span>
</td>
</tr>
<tr class="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,630 shares in 2023 and 3,628 shares in 2022</a></td>
<td class="nump">36<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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(10,658)<span></span>
</td>
<td class="num">(12,039)<span></span>
</td>
</tr>
<tr class="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">594<span></span>
</td>
<td class="nump">251<span></span>
</td>
</tr>
<tr class="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">138,341<span></span>
</td>
<td class="nump">126,006<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">128,313<span></span>
</td>
<td class="nump">114,254<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">$ 135,458<span></span>
</td>
<td class="nump">$ 123,874<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>20
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918937728">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>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,630<span></span>
</td>
<td class="nump">3,628<span></span>
</td>
</tr>
<tr class="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,630<span></span>
</td>
<td class="nump">3,628<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>21
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917797792">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<span></span>
</td>
</tr>
<tr class="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,186<span></span>
</td>
<td class="nump">20,085<span></span>
</td>
<td class="nump">18,137<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">30,038<span></span>
</td>
<td class="nump">32,196<span></span>
</td>
<td class="nump">30,917<span></span>
</td>
</tr>
<tr class="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,685<span></span>
</td>
<td class="nump">1,507<span></span>
</td>
<td class="nump">1,414<span></span>
</td>
</tr>
<tr class="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">560<span></span>
</td>
<td class="nump">493<span></span>
</td>
<td class="nump">526<span></span>
</td>
</tr>
<tr class="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">11,016<span></span>
</td>
<td class="nump">10,406<span></span>
</td>
<td class="nump">10,097<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">16,777<span></span>
</td>
<td class="nump">19,790<span></span>
</td>
<td class="nump">18,880<span></span>
</td>
</tr>
<tr class="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">3,036<span></span>
</td>
<td class="nump">661<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_RoyaltyIncomeNonoperating', window );">Royalty income (note 12)</a></td>
<td class="nump">20<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="nump">256<span></span>
</td>
<td class="nump">188<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,089<span></span>
</td>
<td class="nump">20,659<span></span>
</td>
<td class="nump">19,061<span></span>
</td>
</tr>
<tr class="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">3,454<span></span>
</td>
<td class="nump">4,186<span></span>
</td>
<td class="nump">4,273<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,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
</tr>
<tr class="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.58<span></span>
</td>
<td class="nump">$ 4.53<span></span>
</td>
<td class="nump">$ 4.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_EarningsPerShareDiluted', window );">Earnings per common share (diluted) (note 1)</a></td>
<td class="nump">$ 4.57<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
<td class="nump">$ 4.04<span></span>
</td>
</tr>
<tr class="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="nump">$ 1,381<span></span>
</td>
<td class="num">$ (2,986)<span></span>
</td>
<td class="num">$ (773)<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">$ 18,016<span></span>
</td>
<td class="nump">$ 13,487<span></span>
</td>
<td class="nump">$ 14,015<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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>22
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917704416">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>23
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884828278080">
<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, 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_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>
<tr class="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">117<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">117<span></span>
</td>
</tr>
<tr class="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">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">225<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_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,381<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,381<span></span>
</td>
</tr>
<tr class="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,300)<span></span>
</td>
<td class="num">(4,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_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,635<span></span>
</td>
<td class="nump">16,635<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, 2023</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">$ 594<span></span>
</td>
<td class="num">$ (10,658)<span></span>
</td>
<td class="nump">$ 138,341<span></span>
</td>
<td class="nump">$ 128,313<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, 2023</a></td>
<td class="nump">3,630<span></span>
</td>
<td class="text">&#160;<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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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 equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918243248">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
</tr>
<tr class="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">623<span></span>
</td>
<td class="nump">612<span></span>
</td>
<td class="nump">636<span></span>
</td>
</tr>
<tr class="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">5,692<span></span>
</td>
<td class="nump">6,417<span></span>
</td>
<td class="nump">6,645<span></span>
</td>
</tr>
<tr class="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="num">(33)<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="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">53<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(693)<span></span>
</td>
<td class="num">(401)<span></span>
</td>
<td class="num">(92)<span></span>
</td>
</tr>
<tr class="re">
<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">225<span></span>
</td>
<td class="nump">183<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_DeferredTaxExpenseFromStockOptionsExercised', window );">Tax benefit attributable to exercise of stock options</a></td>
<td class="nump">12<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">2,270<span></span>
</td>
<td class="num">(511)<span></span>
</td>
<td class="num">(1,088)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">0<span></span>
</td>
<td class="num">(14)<span></span>
</td>
<td class="num">(42)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(670)<span></span>
</td>
<td class="num">(2,353)<span></span>
</td>
<td class="num">(485)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">45<span></span>
</td>
<td class="num">(64)<span></span>
</td>
<td class="num">(81)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(456)<span></span>
</td>
<td class="nump">464<span></span>
</td>
<td class="num">(23)<span></span>
</td>
</tr>
<tr class="ro">
<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="num">(1,422)<span></span>
</td>
<td class="nump">252<span></span>
</td>
<td class="nump">713<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">22,281<span></span>
</td>
<td class="nump">21,147<span></span>
</td>
<td class="nump">21,203<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="num">(639)<span></span>
</td>
<td class="num">(809)<span></span>
</td>
<td class="num">(552)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">0<span></span>
</td>
<td class="num">(9)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash (used in) investing activities</a></td>
<td class="num">(639)<span></span>
</td>
<td class="num">(818)<span></span>
</td>
<td class="num">(552)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock - options</a></td>
<td class="nump">117<span></span>
</td>
<td class="nump">174<span></span>
</td>
<td class="nump">560<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">0<span></span>
</td>
<td class="num">(2,495)<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_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(4,282)<span></span>
</td>
<td class="num">(3,163)<span></span>
</td>
<td class="num">(11,465)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) financing activities</a></td>
<td class="num">(4,165)<span></span>
</td>
<td class="num">(5,484)<span></span>
</td>
<td class="num">(10,905)<span></span>
</td>
</tr>
<tr class="re">
<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="nump">339<span></span>
</td>
<td class="num">(767)<span></span>
</td>
<td class="num">(362)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash and cash equivalents</a></td>
<td class="nump">17,816<span></span>
</td>
<td class="nump">14,078<span></span>
</td>
<td class="nump">9,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at beginning 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at end of year</a></td>
<td class="nump">92,868<span></span>
</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_IncomeTaxesPaid', window );">Cash paid during the year for income taxes</a></td>
<td class="nump">4,827<span></span>
</td>
<td class="nump">4,970<span></span>
</td>
<td class="nump">4,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_InterestPaid', window );">Cash paid during the year 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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831749872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trading Arrangements, by Individual<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</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_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></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_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></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_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></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_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 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;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</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_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884943362160">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">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 Ltd 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 120 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&#160;31, 2023 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, 2023, using the 2023 year-end 1.2739 USD/GBP and 0.6825 USD/AUD currency exchange rates, is about $1,931 in 2024, $1,931 in 2025, $422 in 2026, $10 in 2027, and $8 in 2028 (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;This intangible asset was fully amortized 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, 2023, 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, <i>Share-Based Payment</i>. &#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 2023, the Company recognized $225 in stock-based compensation cost compared to $183 in 2022 and $166 in 2021.</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 2023, 2022 or 2021.</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, 2023 and 2022 was  $257 and $204, 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><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">2023</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">2022</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">2021</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,629</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,637</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,647</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">8</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">6</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">13</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,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;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;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,660</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 2023 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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831206704">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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"></kbd>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">3,488</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,720</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"></kbd>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">53</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">51</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"></kbd>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">(151)</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">(182)</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"></kbd>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">3,390</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,589</p>
</td></tr>
</table>
 <p style="font:11pt Times New Roman;margin:0"></p>
<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"></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"></kbd>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,685</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,896</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"></kbd>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,503</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,193</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"></kbd>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">6,394</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">5,725</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"></kbd>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">9,582</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">8,814</p>
</td></tr>
</table>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:801.35pt" 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><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"></td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" 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">13,354</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,098</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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">338</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">(744)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><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 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:801.35pt" valign="top"><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 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,692</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">13,354</p>
</td></tr>
</table>
<p style="font:11pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:801.35pt" 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:82.8pt" valign="top"></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:82.8pt" valign="top"></td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,209</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,198</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">127</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">121</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,360</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,887</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,108</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,635</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" 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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,000</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><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 style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">342</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">395</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><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 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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,150</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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,519</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><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 style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54,296</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:82.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52,755</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(49,350)</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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(42,378)</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><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 style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.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">4,946</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:82.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">10,377</p>
</td></tr>
</table>
 <p style="font:11pt Times New Roman;margin:0"></p>
<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><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"></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"></kbd>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">327</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">337</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"></kbd>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,294</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,318</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"></kbd>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">257</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">204</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"></kbd>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,063</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">2,883</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"></kbd>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">3,941</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">4,742</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> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>28
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917632912">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:425.5pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2023</p>
</td></tr>
<tr><td style="width:237.6pt" valign="top"></td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,520</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,866</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,505</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,333</p>
</td></tr>
<tr><td style="width:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,843</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,739</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,359</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,098</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,214</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,200</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,935</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,287</p>
</td></tr>
<tr><td style="width:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.16</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;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:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.08</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.18</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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:425.3pt;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:237.55pt" valign="top"></td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.4pt;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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,533</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,151</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,186</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt" 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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,534</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,103</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,280</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,555</p>
</td></tr>
<tr><td style="width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt;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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:425.3pt;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:237.55pt" valign="top"></td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.4pt;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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,947</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,785</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,073</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt" 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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,024</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,426</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,206</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,131</p>
</td></tr>
<tr><td style="width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt;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;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-10-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 270<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//270/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>29
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917632912">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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,638</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,593</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,907</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">13,601</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,315</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">17,068</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">1,413</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">906</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"></kbd>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">34,273</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,168</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">(23,722)</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,944)</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,551</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,224</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, 2023</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"></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 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">637</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">380</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,638</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,584</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,194</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,129</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,907</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">15,075</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">732</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,508</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,315</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">913</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</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">497</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">1,413</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"></kbd>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">23,193</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,566</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,514</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">34,273</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,701)</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,464)</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,557)</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">(23,722)</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,492</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,102</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,957</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,551</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, 2022</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"></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 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">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.4pt;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.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,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.4pt" 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.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,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.4pt" 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.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">-</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">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.4pt;border-bottom:0.5pt solid #000000" 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"></kbd>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,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.4pt;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.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,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.4pt;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.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,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.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,224</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917771888">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 2022 and 2023.</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> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917918256">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 product liability litigation expenses at $1,660 in 2023, $670 in 2022 and $22 in 2021 were high relative to history, they were not material to overall consolidated financial results. &#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, 2023 or December 31, 2022. </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. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall 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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>32
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831373200">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">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><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">2023</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">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: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">2021</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">110</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">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></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">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">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></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">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></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">(1,673)</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,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></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">(1,442)</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,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></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><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">2023</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">2022</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">2021</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,075</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">4,632</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,983</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">(621)</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">(446)</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">290</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">3,454</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,186</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">4,273</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:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:199.25pt;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:259pt" valign="top"></td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.45pt;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.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.45pt;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:259pt" 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:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,346</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,620</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,520</p>
</td></tr>
<tr><td style="width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">439</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">490</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">448</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td style="background-color:#CCEEFF;width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">951</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,129</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,010</p>
</td></tr>
<tr><td style="width:259pt" 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:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3)</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3)</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(6)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Tax-exempt income </p>
</td><td style="background-color:#CCEEFF;width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(195)</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" 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:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td></tr>
<tr><td style="width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">391</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#CCEEFF;width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(84)</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(50)</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(90)</p>
</td></tr>
<tr><td style="width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:35.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">3,454</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:35.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">4,186</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:35.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">4,273</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><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">2023</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">2022</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">2021</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">11,170</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,475</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">12,004</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,919</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">8,184</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">7,057</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,089</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">20,659</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">19,061</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> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917403632">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 285 thousand shares of common stock, of which 84 thousand are outstanding as of December 31, 2023. &#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"></p>
<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>2023</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">19</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">77.07 - 77.07</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">0.4</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">77.05 - 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">2</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">49.18 - 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">84</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">49.18 - 82.60</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">50</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">49.18 - 82.60</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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.25pt" 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:27.3pt;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:345.95pt;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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2022</b></p>
</td><td style="background-color:#CCEEFF;width:27.25pt" 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.95pt;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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.25pt" 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 style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:345.95pt" 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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.25pt" 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 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.95pt" 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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.25pt" 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 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.95pt" 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.75pt" 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.25pt" 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 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.95pt" 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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.25pt" 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 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.95pt" 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.5pt" 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.25pt;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.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2021</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.25pt;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.5pt" 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">-</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.25pt" 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.5pt" 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">3</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.25pt" 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.5pt" 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">14</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.25pt" 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.5pt" 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">52</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.25pt" 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.5pt" 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">34</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.25pt" 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>
<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&#160;31, 2023, 2022 and 2021, the Company reduced current income taxes payable by $12, $6 and $39, 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 2023, the Company recognized $225 in equity compensation cost, compared to $183 in 2022 and $166 in 2021. &#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">2023</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">2022</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">2021</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.3090</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">0.3050</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">-</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">31.67%</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">29.87%</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">-</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.75%</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">4.09%</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">-</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.6 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">5.7 years</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">-</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 2023 is $25.09 and in 2022 is $25.34. 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, 2023 there was $702 total unrecognized compensation expense related to non-vested stock options under the plans. A $225 portion of the cost is expected to be recognized over the next twelve months, and the remaining $477 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, 2023:</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">74.64</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">23,841</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">3.18 </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">63.44</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">23,841</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">63.44</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">77.05</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">82.60</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">60,460</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">8.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: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">78.95</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">24,644</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">78.21</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;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="background-color:#CCEEFF;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="background-color:#CCEEFF;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="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-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">84,301</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-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.79</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;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">74.56</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-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">48,485</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;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">70.95</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">2023</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">2022</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">2021</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">31</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">141</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">591</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">814</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,812</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,595</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/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831373200">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:534.95pt" valign="top"></td><td style="width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.7pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.7pt;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:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.7pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:534.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">30,413</p>
</td><td style="background-color:#CCEEFF;width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.7pt;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:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">31,758</p>
</td></tr>
<tr><td style="width:534.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td style="width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,918</p>
</td><td style="width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,214</p>
</td><td style="width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,434</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:534.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#CCEEFF;width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,893</p>
</td><td style="background-color:#CCEEFF;width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,543</p>
</td><td style="background-color:#CCEEFF;width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,862</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>35
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831957072">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:537.1pt" valign="top"></td><td style="width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.3pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.3pt;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:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.3pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.3pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,462</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,875</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,104</p>
</td></tr>
<tr><td style="width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td style="width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,838</p>
</td><td style="width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">15,184</p>
</td><td style="width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,339</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td style="background-color:#CCEEFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,963</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,954</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,990</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td style="background-color:#FFFFFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">336</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">337</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">392</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td style="background-color:#CCEEFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">589</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">593</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">653</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" 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>36
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917382016">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:497.8pt" valign="top"> </td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;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:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,592</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,661</p>
</td><td style="background-color:#CCEEFF;width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,675</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,300</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,841</p>
</td><td style="width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,973</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,863</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,691</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,469</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">50,224</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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></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:497.8pt" valign="top"> </td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;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:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,041</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">676</p>
</td><td style="background-color:#CCEEFF;width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">735</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,992</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,603</p>
</td><td style="width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,053</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,678</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,347</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,309</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,020</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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></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>37
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917411872">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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 2023, 2022 and 2021, UTMD received royalties of $20, $20 and $15, 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 $4,529 in operating lease and purchase commitments as of December 31, 2023.</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>38
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918086400">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 $184, $159 and $165 for the years ended December 31, 2023, 2022 and 2021, 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/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480266/715-60-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>39
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917343136">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 8 years and on the automobile is 6 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, 2023, 2022, and 2021 were $65, $64, and $63, 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 (<i>in thousands</i>):</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, 2023</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">$342</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, 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">47</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, 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">295</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">$342</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, 2023 were as follows <i>(in thousands)</i>:</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, 2023</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2024</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$45</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2025</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">41</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2026</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">42</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2027</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">43</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2028</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">44</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">125</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">$381</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">(39)</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">$342</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, 2023</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">7.4 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.0%</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918936048">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 had the right to sell the Filshie Clip System and UTMD distributed the Filshie Clip System directly to clinical facilities in the U.S. The $21,000 purchase price represented an identifiable intangible asset which was 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 became 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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831303296">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 2023.</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><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">2023</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">2022</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">2021</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,635</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">16,473</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">14,788</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,629</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,637</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,647</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">8</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">6</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">13</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,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;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: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,660</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.58</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.53</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">4.05</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.57</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.52</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">4.04</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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>42
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918073360">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480530/250-10-S99-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483194/926-20-65-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480530/250-10-S99-6<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -Publisher FASB<br> -URI https://asc.fasb.org//250/tableOfContent<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831253840">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, 2023 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> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917410416">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884826245504">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>46
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884943336112">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>47
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831545808">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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&#160;31, 2023 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> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917360608">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>49
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918073360">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884943336112">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831545808">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>52
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884943336112">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, 2023, using the 2023 year-end 1.2739 USD/GBP and 0.6825 USD/AUD currency exchange rates, is about $1,931 in 2024, $1,931 in 2025, $422 in 2026, $10 in 2027, and $8 in 2028 (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;This intangible asset was fully amortized 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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>53
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831301424">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, 2023, 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, <i>Share-Based Payment</i>. &#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 2023, the Company recognized $225 in stock-based compensation cost compared to $183 in 2022 and $166 in 2021.</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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>54
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884926269440">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>55
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917159008">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 2023, 2022 or 2021.</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> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917719088">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, 2023 and 2022 was  $257 and $204, 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> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480102/450-20-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>57
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831097264">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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">2021</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,629</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,637</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,647</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">8</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">6</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">13</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,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;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;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,660</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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884826026352">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 2023 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>59
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831366064">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>60
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831909760">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>61
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884826056528">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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">2021</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,629</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,637</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,647</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">8</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">6</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">13</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,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;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;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,660</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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>62
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831263408">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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"></kbd>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">3,488</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,720</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"></kbd>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">53</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">51</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"></kbd>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">(151)</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">(182)</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"></kbd>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">3,390</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,589</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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>63
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884826244448">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current</a></td>
<td class="text"><p style="font:11pt Times New Roman;margin:0"></p>
<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"></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"></kbd>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,685</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,896</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"></kbd>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,503</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,193</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"></kbd>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">6,394</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">5,725</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"></kbd>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">9,582</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">8,814</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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884926269440">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill</a></td>
<td class="text"><table style="border-collapse:collapse;width:100%"><tr><td style="width:801.35pt" 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><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"></td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" 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">13,354</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,098</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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">338</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">(744)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><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 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:801.35pt" valign="top"><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 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,692</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">13,354</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/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>65
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831303296">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets</a></td>
<td class="text"><p style="font:11pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:801.35pt" 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:82.8pt" valign="top"></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:82.8pt" valign="top"></td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,209</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,198</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">127</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">121</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,360</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,887</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,108</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,635</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt" 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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,000</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><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 style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">342</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:82.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">395</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><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 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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,150</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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,519</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><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 style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:82.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">54,296</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:82.8pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52,755</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:801.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:19.8pt"></kbd>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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(49,350)</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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(42,378)</p>
</td></tr>
<tr><td style="width:801.35pt" valign="top"><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 style="width:21.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:82.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">4,946</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:82.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">10,377</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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917410416">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses</a></td>
<td class="text"><p style="font:11pt Times New Roman;margin:0"></p>
<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><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"></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"></kbd>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">327</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">337</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"></kbd>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,294</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,318</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"></kbd>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">257</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">204</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"></kbd>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,063</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">2,883</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"></kbd>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">3,941</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">4,742</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>67
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884926281216">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:425.5pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">Unaudited Quarterly Data for 2023</p>
</td></tr>
<tr><td style="width:237.6pt" valign="top"></td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,520</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,866</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,505</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.2pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">12,333</p>
</td></tr>
<tr><td style="width:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,843</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,739</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,359</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,098</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,214</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,200</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,935</p>
</td><td style="background-color:#CCEEFF;width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,287</p>
</td></tr>
<tr><td style="width:237.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:12.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.16</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;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:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.08</p>
</td><td style="width:20.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.2pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.18</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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:425.3pt;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:237.55pt" valign="top"></td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.4pt;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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,533</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,151</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,186</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt" 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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,534</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,103</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,280</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,555</p>
</td></tr>
<tr><td style="width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt;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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="10" style="width:425.3pt;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:237.55pt" valign="top"></td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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">Fourth Quarter</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:79.4pt;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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,947</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,785</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,073</p>
</td><td style="width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt" 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:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#CCEEFF;width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,024</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,426</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,206</p>
</td><td style="background-color:#CCEEFF;width:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:79.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,131</p>
</td></tr>
<tr><td style="width:237.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:12.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.35pt;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:20.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:79.4pt;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;color:#000000">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>68
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918250160">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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,638</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,593</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,907</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">13,601</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,315</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">17,068</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">1,413</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">906</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"></kbd>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">34,273</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,168</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">(23,722)</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,944)</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,551</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,224</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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917929632">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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, 2023</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"></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 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">637</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">380</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,638</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,584</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,194</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,129</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,907</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">15,075</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">732</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,508</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,315</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">913</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</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">497</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">1,413</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"></kbd>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">23,193</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,566</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,514</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">34,273</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,701)</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,464)</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,557)</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">(23,722)</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,492</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,102</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,957</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,551</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, 2022</span></p>
</td></tr>
<tr><td style="width:398.15pt" valign="top"></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 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">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.4pt;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.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,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.4pt" 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.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,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.4pt" 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.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">-</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">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.4pt;border-bottom:0.5pt solid #000000" 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"></kbd>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,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.4pt;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.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,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.4pt;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.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,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.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,224</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>70
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918898048">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">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: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">2021</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">110</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">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></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">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">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></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">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></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">(1,673)</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,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></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">(1,442)</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,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></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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>71
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831926064">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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">2021</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,075</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">4,632</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,983</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">(621)</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">(446)</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">290</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">3,454</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,186</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">4,273</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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>72
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884919020144">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="7" style="width:199.25pt;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:259pt" valign="top"></td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.45pt;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.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:35.45pt;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:259pt" 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:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,346</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,620</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,520</p>
</td></tr>
<tr><td style="width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">439</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">490</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">448</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td style="background-color:#CCEEFF;width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">951</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,129</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,010</p>
</td></tr>
<tr><td style="width:259pt" 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:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3)</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(3)</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(6)</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0"> Tax-exempt income </p>
</td><td style="background-color:#CCEEFF;width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(195)</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" 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:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td></tr>
<tr><td style="width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:35.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">391</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#CCEEFF;width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(84)</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(50)</p>
</td><td style="background-color:#CCEEFF;width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:35.45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">(90)</p>
</td></tr>
<tr><td style="width:259pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="width:9.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:35.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">3,454</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:35.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">4,186</p>
</td><td style="width:36.65pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:9.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:35.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">4,273</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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>73
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918100896">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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">2021</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">11,170</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,475</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">12,004</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,919</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">8,184</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">7,057</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,089</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">20,659</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">19,061</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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>74
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884943362960">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Share-based Compensation, Stock Options, Activity</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<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>2023</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">19</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">77.07 - 77.07</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">0.4</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">77.05 - 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">2</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">49.18 - 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">84</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">49.18 - 82.60</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">50</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">49.18 - 82.60</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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27.25pt" 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:27.3pt;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:345.95pt;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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2022</b></p>
</td><td style="background-color:#CCEEFF;width:27.25pt" 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.95pt;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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="width:27.25pt" 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 style="width:27.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="width:345.95pt" 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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="background-color:#CCEEFF;width:27.25pt" 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 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.95pt" 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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="width:27.25pt" 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 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.95pt" 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.75pt" 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.25pt" 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 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.95pt" 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.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="width:27.25pt" 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 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.95pt" 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.5pt" 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.25pt;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.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>2021</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.25pt;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.5pt" 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">-</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.25pt" 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.5pt" 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">3</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.25pt" 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.5pt" 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">14</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.25pt" 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.5pt" 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">52</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.25pt" 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.5pt" 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">34</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.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">33.30 - 77.05</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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884918911408">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">2023</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">2022</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">2021</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.3090</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">0.3050</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">-</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">31.67%</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">29.87%</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">-</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.75%</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">4.09%</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">-</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.6 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">5.7 years</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">-</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> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831621424">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">74.64</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">23,841</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">3.18 </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">63.44</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">23,841</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">63.44</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">77.05</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">82.60</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">60,460</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">8.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: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">78.95</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">24,644</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">78.21</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;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="background-color:#CCEEFF;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="background-color:#CCEEFF;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="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-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">84,301</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-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.79</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;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">74.56</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-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">48,485</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;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">70.95</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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>77
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831172640">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:534.95pt" valign="top"></td><td style="width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.7pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.7pt;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:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.7pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:534.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">30,413</p>
</td><td style="background-color:#CCEEFF;width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.7pt;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:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">31,758</p>
</td></tr>
<tr><td style="width:534.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td style="width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8,918</p>
</td><td style="width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,214</p>
</td><td style="width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,434</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:534.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#CCEEFF;width:50.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,893</p>
</td><td style="background-color:#CCEEFF;width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,543</p>
</td><td style="background-color:#CCEEFF;width:60.2pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:26pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.7pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">9,862</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>78
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884826308000">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:537.1pt" valign="top"></td><td style="width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.3pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.3pt;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:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:112.3pt;border-bottom:0.5pt solid #000000" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">2021</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#CCEEFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.3pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,462</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">14,875</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,104</p>
</td></tr>
<tr><td style="width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td style="width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,838</p>
</td><td style="width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">15,184</p>
</td><td style="width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19,339</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td style="background-color:#CCEEFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,963</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,954</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,990</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td style="background-color:#FFFFFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">336</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">337</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">392</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td style="background-color:#CCEEFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">589</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">593</p>
</td><td style="background-color:#CCEEFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">653</p>
</td></tr>
<tr><td style="background-color:#FFFFFF;width:537.1pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:50.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:59.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#FFFFFF;width:25.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#FFFFFF;width:112.3pt" 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>79
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884825979904">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:497.8pt" valign="top"> </td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;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:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,592</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,661</p>
</td><td style="background-color:#CCEEFF;width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,675</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,300</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,841</p>
</td><td style="width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21,973</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,863</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,691</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,469</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">50,224</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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></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>80
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884830779536">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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:497.8pt" valign="top"> </td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:110.9pt;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:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,041</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">676</p>
</td><td style="background-color:#CCEEFF;width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">735</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,992</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,603</p>
</td><td style="width:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,053</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,678</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:110.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,347</p>
</td></tr>
<tr><td style="width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">7,309</p>
</td><td style="width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:110.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></tr>
<tr><td style="background-color:#CCEEFF;width:497.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#CCEEFF;width:58.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,020</p>
</td><td style="background-color:#CCEEFF;width:58.6pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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:71.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#CCEEFF;width:25.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td style="background-color:#CCEEFF;width:110.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></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>81
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884830792016">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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, 2023</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">$342</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, 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">47</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, 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">295</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">$342</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>82
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884919020144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, to be Paid, 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, 2023 were as follows <i>(in thousands)</i>:</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, 2023</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2024</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$45</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2025</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">41</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2026</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">42</p>
</td></tr>
<tr><td style="width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2027</p>
</td><td style="width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">43</p>
</td></tr>
<tr><td style="background-color:#CCEEFF;width:796.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0">2028</p>
</td><td style="background-color:#CCEEFF;width:299.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">44</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">125</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">$381</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">(39)</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">$342</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, 2023</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">7.4 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.0%</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>83
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831172640">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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><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">2023</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">2022</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">2021</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,635</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">16,473</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">14,788</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,629</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,637</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,647</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">8</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">6</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">13</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,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;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: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,660</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.58</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.53</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">4.05</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.57</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.52</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">4.04</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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>84
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884832060496">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>instant</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>85
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884832027744">
<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, 2023 </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.2739<span></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.6825<span></span>
</td>
</tr>
<tr class="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">$ 1,931<span></span>
</td>
</tr>
<tr class="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,931<span></span>
</td>
</tr>
<tr class="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">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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Four</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="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">8<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_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="re">
<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="re">
<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>instant</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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>86
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884926220224">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 225<span></span>
</td>
<td class="nump">$ 183<span></span>
</td>
<td class="nump">$ 166<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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>87
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831909760">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserve', window );">Estimated Litigation Liability</a></td>
<td class="nump">$ 257<span></span>
</td>
<td class="nump">$ 204<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> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>88
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831444256">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,629<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,647<span></span>
</td>
</tr>
<tr class="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">8<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted Average Number of Shares Outstanding, Diluted</a></td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,643<span></span>
</td>
<td class="nump">3,660<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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917564944">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts Receivable, before Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 3,488<span></span>
</td>
<td class="nump">$ 5,720<span></span>
</td>
</tr>
<tr class="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">53<span></span>
</td>
<td class="nump">51<span></span>
</td>
</tr>
<tr class="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">(151)<span></span>
</td>
<td class="num">(182)<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">$ 3,390<span></span>
</td>
<td class="nump">$ 5,589<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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>90
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917714928">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Inventory, Finished Goods, Net of Reserves</a></td>
<td class="nump">$ 1,685<span></span>
</td>
<td class="nump">$ 1,896<span></span>
</td>
</tr>
<tr class="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,503<span></span>
</td>
<td class="nump">1,193<span></span>
</td>
</tr>
<tr class="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">6,394<span></span>
</td>
<td class="nump">5,725<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">$ 9,582<span></span>
</td>
<td class="nump">$ 8,814<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://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917624288">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance as of January 1</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_GoodwillForeignCurrencyTranslationGainLoss', window );">Effect of foreign exchange</a></td>
<td class="nump">338<span></span>
</td>
<td class="num">(744)<span></span>
</td>
</tr>
<tr class="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,692<span></span>
</td>
<td class="nump">$ 13,354<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/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>92
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884832032992">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedPatentsGross', window );">Finite-Lived Patents, Gross</a></td>
<td class="nump">$ 2,209<span></span>
</td>
<td class="nump">$ 2,198<span></span>
</td>
</tr>
<tr class="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">127<span></span>
</td>
<td class="nump">121<span></span>
</td>
</tr>
<tr class="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">9,360<span></span>
</td>
<td class="nump">8,887<span></span>
</td>
</tr>
<tr class="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">9,108<span></span>
</td>
<td class="nump">8,635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 342<span></span>
</td>
<td class="nump">$ 395<span></span>
</td>
</tr>
<tr class="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">$ 12,150<span></span>
</td>
<td class="nump">$ 11,519<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">54,296<span></span>
</td>
<td class="nump">52,755<span></span>
</td>
</tr>
<tr class="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">(49,350)<span></span>
</td>
<td class="num">(42,378)<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">$ 4,946<span></span>
</td>
<td class="nump">$ 10,377<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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>93
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831719680">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued Income Taxes, Current</a></td>
<td class="nump">$ 327<span></span>
</td>
<td class="nump">$ 337<span></span>
</td>
</tr>
<tr class="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,294<span></span>
</td>
<td class="nump">1,318<span></span>
</td>
</tr>
<tr class="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">257<span></span>
</td>
<td class="nump">204<span></span>
</td>
</tr>
<tr class="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,063<span></span>
</td>
<td class="nump">2,883<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">$ 3,941<span></span>
</td>
<td class="nump">$ 4,742<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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>94
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884821717216">
<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, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</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">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<span></span>
</td>
</tr>
<tr class="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">7,098<span></span>
</td>
<td class="nump">7,359<span></span>
</td>
<td class="nump">7,739<span></span>
</td>
<td class="nump">7,843<span></span>
</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">30,038<span></span>
</td>
<td class="nump">32,196<span></span>
</td>
<td class="nump">30,917<span></span>
</td>
</tr>
<tr class="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,287<span></span>
</td>
<td class="nump">$ 3,935<span></span>
</td>
<td class="nump">$ 4,200<span></span>
</td>
<td class="nump">$ 4,214<span></span>
</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">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
</tr>
<tr class="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.18<span></span>
</td>
<td class="nump">$ 1.08<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 1.16<span></span>
</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">$ 4.57<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
<td class="nump">$ 4.04<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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884824683312">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,638<span></span>
</td>
<td class="nump">$ 1,593<span></span>
</td>
</tr>
<tr class="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,907<span></span>
</td>
<td class="nump">13,601<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">17,315<span></span>
</td>
<td class="nump">17,068<span></span>
</td>
</tr>
<tr class="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">1,413<span></span>
</td>
<td class="nump">906<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">34,273<span></span>
</td>
<td class="nump">33,168<span></span>
</td>
</tr>
<tr class="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">(23,722)<span></span>
</td>
<td class="num">(22,944)<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,551<span></span>
</td>
<td class="nump">$ 10,224<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>96
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884821741776">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,638<span></span>
</td>
<td class="nump">$ 1,593<span></span>
</td>
</tr>
<tr class="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,907<span></span>
</td>
<td class="nump">13,601<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">17,315<span></span>
</td>
<td class="nump">17,068<span></span>
</td>
</tr>
<tr class="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">1,413<span></span>
</td>
<td class="nump">906<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">34,273<span></span>
</td>
<td class="nump">33,168<span></span>
</td>
</tr>
<tr class="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">(23,722)<span></span>
</td>
<td class="num">(22,944)<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,551<span></span>
</td>
<td class="nump">10,224<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,584<span></span>
</td>
<td class="nump">6,566<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">15,075<span></span>
</td>
<td class="nump">14,950<span></span>
</td>
</tr>
<tr class="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">913<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">23,193<span></span>
</td>
<td class="nump">22,549<span></span>
</td>
</tr>
<tr class="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,701)<span></span>
</td>
<td class="num">(18,369)<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,492<span></span>
</td>
<td class="nump">4,180<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">637<span></span>
</td>
<td class="nump">605<span></span>
</td>
</tr>
<tr class="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,194<span></span>
</td>
<td class="nump">3,043<span></span>
</td>
</tr>
<tr class="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">732<span></span>
</td>
<td class="nump">693<span></span>
</td>
</tr>
<tr class="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">3<span></span>
</td>
<td class="nump">0<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,566<span></span>
</td>
<td class="nump">4,341<span></span>
</td>
</tr>
<tr class="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,464)<span></span>
</td>
<td class="num">(1,229)<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,102<span></span>
</td>
<td class="nump">3,112<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">380<span></span>
</td>
<td class="nump">367<span></span>
</td>
</tr>
<tr class="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">4,129<span></span>
</td>
<td class="nump">3,992<span></span>
</td>
</tr>
<tr class="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,508<span></span>
</td>
<td class="nump">1,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_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">497<span></span>
</td>
<td class="nump">494<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,514<span></span>
</td>
<td class="nump">6,278<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(3,557)<span></span>
</td>
<td class="num">(3,346)<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,957<span></span>
</td>
<td class="nump">$ 2,932<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>97
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884826198432">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884832262192">
<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="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_LitigationExpense', window );">Litigation Expense</a></td>
<td class="nump">$ 1,660,000<span></span>
</td>
<td class="nump">$ 670,000<span></span>
</td>
<td class="nump">$ 22,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_ProductWarrantyAccrual', window );">Standard and Extended Product Warranty Accrual</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>99
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831628096">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 110<span></span>
</td>
<td class="nump">$ 103<span></span>
</td>
<td class="nump">$ 88<span></span>
</td>
</tr>
<tr class="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">31<span></span>
</td>
<td class="nump">39<span></span>
</td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="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">90<span></span>
</td>
<td class="nump">58<span></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">(1,673)<span></span>
</td>
<td class="num">(2,295)<span></span>
</td>
<td class="num">(2,859)<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">$ (1,442)<span></span>
</td>
<td class="num">$ (2,063)<span></span>
</td>
<td class="num">$ (2,682)<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>100
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917599856">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,075<span></span>
</td>
<td class="nump">$ 4,632<span></span>
</td>
<td class="nump">$ 3,983<span></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">(621)<span></span>
</td>
<td class="num">(446)<span></span>
</td>
<td class="nump">290<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">$ 3,454<span></span>
</td>
<td class="nump">$ 4,186<span></span>
</td>
<td class="nump">$ 4,273<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884825249232">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,346<span></span>
</td>
<td class="nump">$ 2,620<span></span>
</td>
<td class="nump">$ 2,520<span></span>
</td>
</tr>
<tr class="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">439<span></span>
</td>
<td class="nump">490<span></span>
</td>
<td class="nump">448<span></span>
</td>
</tr>
<tr class="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">951<span></span>
</td>
<td class="nump">1,129<span></span>
</td>
<td class="nump">1,010<span></span>
</td>
</tr>
<tr class="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">(3)<span></span>
</td>
<td class="num">(6)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeSecuritiesTaxExempt', window );">Interest Income, Securities, Operating, Tax Exempt</a></td>
<td class="num">(195)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_AdjustmentToDeferredTaxLiability', window );">Adjustment To Deferred Tax Liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_IncomeTaxReconciliationOtherAdjustments', window );">Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</a></td>
<td class="num">(84)<span></span>
</td>
<td class="num">(50)<span></span>
</td>
<td class="num">(90)<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">$ 3,454<span></span>
</td>
<td class="nump">$ 4,186<span></span>
</td>
<td class="nump">$ 4,273<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_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InterestIncomeSecuritiesTaxExempt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating interest income, including amortization and accretion of premiums and discounts, on securities exempt from state, federal and other income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph (a)<br> -Publisher SEC<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph (b)<br> -Subparagraph (1)<br> -Publisher SEC<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeSecuritiesTaxExempt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917591200">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 11,170<span></span>
</td>
<td class="nump">$ 12,475<span></span>
</td>
<td class="nump">$ 12,004<span></span>
</td>
</tr>
<tr class="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,919<span></span>
</td>
<td class="nump">8,184<span></span>
</td>
<td class="nump">7,057<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,089<span></span>
</td>
<td class="nump">$ 20,659<span></span>
</td>
<td class="nump">$ 19,061<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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>103
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831493616">
<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</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">285<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">84<span></span>
</td>
<td class="nump">67<span></span>
</td>
<td class="nump">52<span></span>
</td>
</tr>
<tr class="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">$ 12,000<span></span>
</td>
<td class="nump">$ 6,000<span></span>
</td>
<td class="nump">$ 39,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_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 225,000<span></span>
</td>
<td class="nump">$ 183,000<span></span>
</td>
<td class="nump">166,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_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.09<span></span>
</td>
<td class="nump">$ 25.34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 702,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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">$ 225,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years</a></td>
<td class="nump">$ 477<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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 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">$ 31,000<span></span>
</td>
<td class="nump">$ 141,000<span></span>
</td>
<td class="nump">591,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</a></td>
<td class="nump">$ 814,000<span></span>
</td>
<td class="nump">$ 1,812,000<span></span>
</td>
<td class="nump">$ 1,595,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 4 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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears</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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 4 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_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition</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_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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>104
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884831497632">
<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></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</a></td>
<td class="nump">19,000<span></span>
</td>
<td class="nump">21,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PriceRangePerShareGranted', window );">Price Range Per Share Granted</a></td>
<td class="text">77.07 - 77.07<span></span>
</td>
<td class="text">82.60 - 82.60<span></span>
</td>
<td class="text">- - -<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</a></td>
<td class="nump">400<span></span>
</td>
<td class="nump">2,000<span></span>
</td>
<td class="nump">3,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_PriceRangePerShareExpired', window );">Price Range Per Share Expired</a></td>
<td class="text">77.05 - 77.05<span></span>
</td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">74.64 - 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">49.18 - 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</a></td>
<td class="nump">84,000<span></span>
</td>
<td class="nump">67,000<span></span>
</td>
<td class="nump">52,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PriceRangePerShareOutstanding', window );">Price Range Per Share Outstanding</a></td>
<td class="text">49.18 - 82.60<span></span>
</td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">33.30 - 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">50,000<span></span>
</td>
<td class="nump">40,000<span></span>
</td>
<td class="nump">34,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PriceRangePerShareTotalExercisable', window );">Price Range Per Share Total Exercisable</a></td>
<td class="text">49.18 - 82.60<span></span>
</td>
<td class="text">33.30 - 77.05<span></span>
</td>
<td class="text">33.30 - 77.05<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">2,000<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
<td class="nump">14,000<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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>105
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917364208">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments</a></td>
<td class="nump">$ 0.309<span></span>
</td>
<td class="nump">$ 0.305<span></span>
</td>
</tr>
<tr class="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">31.67%<span></span>
</td>
<td class="nump">29.87%<span></span>
</td>
</tr>
<tr class="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.75%<span></span>
</td>
<td class="nump">4.09%<span></span>
</td>
</tr>
<tr class="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 7 months 6 days<span></span>
</td>
<td class="text">5 years 8 months 12 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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>106
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884821476912">
<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, 2023 </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.6<span></span>
</td>
</tr>
<tr class="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">84,301<span></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">$ 74.56<span></span>
</td>
</tr>
<tr class="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">48,485<span></span>
</td>
</tr>
<tr class="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">$ 70.95<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">$ 74.64<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">23,841<span></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">3.18<span></span>
</td>
</tr>
<tr class="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">$ 63.44<span></span>
</td>
</tr>
<tr class="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">23,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_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 63.44<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">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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 82.6<span></span>
</td>
</tr>
<tr class="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">60,460<span></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">8.22<span></span>
</td>
</tr>
<tr class="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">$ 78.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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">24,644<span></span>
</td>
</tr>
<tr class="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">$ 78.21<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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917317728">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 30,413<span></span>
</td>
<td class="nump">$ 34,524<span></span>
</td>
<td class="nump">$ 31,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CompanySalesInEurope', window );">Company Sales in Europe</a></td>
<td class="nump">8,918<span></span>
</td>
<td class="nump">7,214<span></span>
</td>
<td class="nump">7,434<span></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,893<span></span>
</td>
<td class="nump">$ 10,543<span></span>
</td>
<td class="nump">$ 9,862<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>108
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917268400">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 11,462<span></span>
</td>
<td class="nump">$ 14,875<span></span>
</td>
<td class="nump">$ 19,104<span></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">13,838<span></span>
</td>
<td class="nump">15,184<span></span>
</td>
<td class="nump">19,339<span></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,963<span></span>
</td>
<td class="nump">2,954<span></span>
</td>
<td class="nump">2,990<span></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">336<span></span>
</td>
<td class="nump">337<span></span>
</td>
<td class="nump">392<span></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">$ 589<span></span>
</td>
<td class="nump">$ 593<span></span>
</td>
<td class="nump">$ 653<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>109
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884822787152">
<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, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</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">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<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">50,224<span></span>
</td>
<td class="nump">52,281<span></span>
</td>
<td class="nump">49,054<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,592<span></span>
</td>
<td class="nump">4,661<span></span>
</td>
<td class="nump">4,675<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">22,300<span></span>
</td>
<td class="nump">21,841<span></span>
</td>
<td class="nump">21,973<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">6,863<span></span>
</td>
<td class="nump">7,567<span></span>
</td>
<td class="nump">6,691<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">$ 16,469<span></span>
</td>
<td class="nump">$ 18,212<span></span>
</td>
<td class="nump">$ 15,715<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=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>110
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884828418256">
<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, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</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">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
<td class="nump">$ 49,054<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">22,020<span></span>
</td>
<td class="nump">20,310<span></span>
</td>
<td class="nump">18,395<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">1,041<span></span>
</td>
<td class="nump">676<span></span>
</td>
<td class="nump">735<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,992<span></span>
</td>
<td class="nump">11,603<span></span>
</td>
<td class="nump">11,053<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,678<span></span>
</td>
<td class="nump">1,517<span></span>
</td>
<td class="nump">1,347<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">$ 7,309<span></span>
</td>
<td class="nump">$ 6,514<span></span>
</td>
<td class="nump">$ 5,260<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=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>111
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917968096">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 20<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractualObligation', window );">Contractual Obligation</a></td>
<td class="nump">$ 4,529<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, lease obligation, purchase obligation, and other commitments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>112
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917886400">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 184<span></span>
</td>
<td class="nump">$ 159<span></span>
</td>
<td class="nump">$ 165<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>113
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917612448">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">8 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">6 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">$ 65<span></span>
</td>
<td class="nump">$ 64<span></span>
</td>
<td class="nump">$ 63<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>114
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884832133664">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-Use Asset</a></td>
<td class="nump">$ 342<span></span>
</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_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">$ 47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">295<span></span>
</td>
<td class="nump">$ 341<span></span>
</td>
</tr>
<tr class="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">$ 342<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884819074480">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 45<span></span>
</td>
</tr>
<tr class="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">41<span></span>
</td>
</tr>
<tr class="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">42<span></span>
</td>
</tr>
<tr class="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">43<span></span>
</td>
</tr>
<tr class="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">44<span></span>
</td>
</tr>
<tr class="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">125<span></span>
</td>
</tr>
<tr class="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">381<span></span>
</td>
</tr>
<tr class="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">(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_OperatingLeaseLiability', window );">Operating Lease, Liability</a></td>
<td class="nump">$ 342<span></span>
</td>
</tr>
<tr class="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">7 years 4 months 24 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.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>116
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884917345376">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>117
<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.24.1</span><table class="report" border="0" cellspacing="2" id="idm139884828493008">
<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, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,287<span></span>
</td>
<td class="nump">$ 3,935<span></span>
</td>
<td class="nump">$ 4,200<span></span>
</td>
<td class="nump">$ 4,214<span></span>
</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">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
<td class="nump">$ 14,788<span></span>
</td>
</tr>
<tr class="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,629<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,647<span></span>
</td>
</tr>
<tr class="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">8<span></span>
</td>
<td class="nump">6<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="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,637<span></span>
</td>
<td class="nump">3,643<span></span>
</td>
<td class="nump">3,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_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.58<span></span>
</td>
<td class="nump">$ 4.53<span></span>
</td>
<td class="nump">$ 4.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_EarningsPerShareDiluted', window );">Earnings Per Share Diluted</a></td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.08<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 1.16<span></span>
</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">$ 4.57<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
<td class="nump">$ 4.04<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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>118
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "-?>E@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  C7WI8^&CV)>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M3L,P#(=?!>7>NG]H#U&7"]-.("$Q"<0M2KPMHFFBQ*C=V].&K1."!^ 8^Y?/
MGR5WRG/E CX'YS&0P7@WV7Z(7/D-.Q%Y#A#5":V,^9P8YN;!!2MI?H8C>*D^
MY!&A*HH6+)+4DB0LP,RO1"8ZK;@**,F%"UZK%>\_0Y]@6@'V:'&@"&5> A/+
M1'^>^@YN@ 5&&&S\+J!>B:GZ)S9U@%V24S1K:AS'?*Q3;MZAA+>GQY>T;F:&
M2')0./^*AM/9XX9=)[_6#]O]CHFJJ.ZSHLZJ=E\VO&EY4[POKC_\;L+6:7,P
M_]CX*B@Z^'47X@M02P,$%     @ (U]Z6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
M )\O.9>[-VH%Q9,\U_\#4$L#!!0    ( "-?>EB4#NDU7P8  )P:   8
M>&PO=V]R:W-H965T<R]S:&5E=#(N>&ULK5EM4]LX$/XKFESGKIT)Q)+\VD)F
MTH1>F:&%(7#W63@*T=2V<I82H+_^),?8B24+Z/0+Q/;NZMG5[CXK^^2!ES_$
MBE()'O.L$*>#E93KCZ.12%<T)^*8KVFAGBQYF1.I+LO[D5B7E"PJI3P;(<\+
M1SEAQ6!\4MV[*L<G?",S5M"K$HA-GI/RZ3/-^,/I  Z>;URS^Y74-T;CDS6Y
MIW,J;]=7I;H:-586+*>%8+P )5V>#B;PXQ0CK5!)_,/H@]C[#;0K=YS_T!?G
MB].!IQ'1C*92FR#JWY9.:99I2PK'?[710;.F5MS__6S]2^6\<N:."#KEV;]L
M(5>G@W@ %G1)-IF\Y@]?:>U0H.VE/!/57_!0RWH#D&Z$Y'FMK!#DK-C])X]U
M(/84,.Y10+4">JT"KA5PY>@.6>76C$@R/BGY RBUM+*F?U2QJ;25-ZS0VSB7
MI7K*E)X<W]Y,OH)O9[/SZ>0"7%U?SFZG-_,A./\^/0;3R^_SRXOSV>3F; 8^
M3RXFWZ=G8/[U[.QF#H[ [7P&WK_[ -X!5H";%=\(4BS$R4@J5-KV**T1?-XA
M0#T(9C0]!A@. ?(0MJA/7Z^.#M5'*A9-0% 3$%39PSWVIINRI(4$1 @JK>[L
M]'V[OBZ[CV)-4GHZ4'4E:+FE@_&??\#0^V1S[C<9.W 5-ZYBE_7QE(B5S<&=
M5EAIZ3:P'2<H#N.3T78?N2D5!5Z &JD#2'X#R7="FJ0IWQ12 )5+@,L5+56O
M2"G;DKN,BB$H5&-[7W!) ?I@@[ZS'NR!PCB!'>2F4!#@V X\:( '3N#GQ59E
M#2\9%4Z @;%V$L2H ] 4BF/HVP&&#<#0"?"JI&O"%H ^*@80=#_"Z8LI'QJ
M?-3-!U,F@($=<]1@CIR8;[@DV2O@1<;2T M1F'00FF)QDL#$CC%N,,8OQ%51
M:BF?JGC2_S9LK4A.[F6J '[U#'K6A(@MV(.@F[(V*81Z4B)IH"=.Z']SOGA@
M66:#E9@+XC#I)JI-"@<]L*#7<I+G!'99I24K)"GNF2K\>NN=A56;W.]'@8^2
ML(/8)H:BH"=1X1Z-0C=DE01$LN(>7% U50Q!-1 =\>71K:!@HO$/P5P2275Z
M +X$7UA!BI2I!+_B@NF9QNK6"\N^/5+3WVKR,%PMR4(GL?4N<J3FNG23;S(5
MJ 4@.2\E^TEZ@X.,S3SR$QQXW4VWR2$<]?1\V!(H=#-HCQLO\U1M]Z"C)KZ1
MK*84]' 4]<!N21:Z67;75_O[*309$JJR#KHMWR:'<!SU-8"63&'PJB$L8^2.
M9:HXJ!VGDY/?.HK]+FN'/K?\#-T$W8P^:_*DIQVKPR;)1@;-680@@GVYWG(Q
M=).QPE=NZ-X X<SOR*@XG/A=5H,F(_N1WS-"PI:1H9N2C5Y\4:?1TQ#4F?5K
MO=B][%L"-'7;^M5D:YD?NJG_<+)ZJ<P28S/]"!I-UAP&@B3T[)N)VED N6>!
M"Z[V4=(R!YG>S ;KD_5HYAD84!)T@%J$\%YJ'N)L!P#DILT6)RM2GE,@R>-S
M*8/WUV=7DQM]ZT.=%9&U;.HU]J&%2;?K6H0@"L(>!_;.O6Y*GM$E5>FPJ( W
M45:,;-";%3DR04'4S1&;5-!WLD$M#2,W#3?0V] WY=<3:)-9,>I.MQ:AP.\Y
M+J"6?-%KR/>%DD,FLT;0-S+9E$I"U%=R+?LB]UEVRO.<2=T;=Z?$E!>ZFU+5
M(9_#*D"X.]38VS\R3[!&*KA$#H&W%(I"Y]@PESS]L>+9@I;BK^HPUM,FG$S\
MYE<XO\G:H=,M+R,W+^O=X@40VO<A>'?L0=5V2K EV89^ H$W]#P/B!4I]9E_
M(U>\9#_I8@B8$)JM\##$S7-65&_AJJU5#U!\^ !9@VF2..X.LFZ90\=;FD<O
M\FUS4JA?9/!<A7BE7S)O%5-P8:\M\S!]!+W0F&ZM<LC#?1V@)5_D)M_)8E'-
M&*H-Z%<R1RJX*5DSU1:L<&V\ZG>QFD(HZ.$TW'(O=G/O-95$W5(C#2D+U0&L
MX<0FG4(<8V/8L\FAT/-Z\@"WS(O=S+MKJ.*5M8]M[!ECB+MP+7+01WTO-W#+
ML]C-LT;_KZKMU?#-HZSU:&:3LQW-1GN?#O1WFV^DO&>%4,/64BEZQY$*0+G[
M%+*[D'Q=?4VXXU+RO/JYHD3!U@+J^9(K>J@O] >*YH/4^']02P,$%     @
M(U]Z6!7JOIV< @  9@<  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6RM
ME5%OFS 0Q[^*Q:8]=8% 0JN.(%&2J9':)BII]^S")5@%S&R3=/OT.P-!24O7
M=EH>L,^^__EW%W-X.RX>90J@R%.>%7)BI$J5YZ8IXQ1R*@>\A )WUESD5*$I
M-J8L!="D%N69:5N6:^:4%8;OU6M+X7N\4ADK8"F(K/*<BE\7D/'=Q!@:^X5;
MMDF57C!]KZ0;B$#=E4N!EME%25@.A62\( +6$R,8GH>N]J\=[AGLY,&<Z$P>
M.'_4QCR9&)8&@@QBI2-0'+800I;I0(CQLXUI=$=JX>%\'_U[G3OF\D EA#S[
MP1*53HPS@R2PIE6F;OGN$MI\QCI>S#-9/\FN];4,$E=2\;P5(T'.BF:D3VT=
M#@3#T2L"NQ78[Q4XK<"I$VW(ZK2F5%'?$WQ'A/;&:'I2UZ968S:LT/]BI 3N
M,M0I_VX57)+KV70>!E=D>;N8WH6KZ(3,;\(!"1<WT>)J/@U6LRFY"*Z"FW!&
MHLO9;!61KV1)!10J!<5BFJ']F9A$IK@H]P,KR"KEE:1%(CU3(:T^TXQ;LHN&
MS'Z%; KQ@#C#$V);MM,C#]\OMX_E)M:H*Y3=%<JNXSG_MU!]>3<'C?H/TJ_M
MN2QI#!,#WTL)8@N&_^73T+6^]57A/P4[JHG3U<3Y6W0_Y'F.KV*D>/QXHB\$
MX0(MJB A]S2K@"P!%_1MZ*M#$_RT#JZ[S=:W!M;0,[>'^;WA=,0]ZKA''^".
MFML:5"KE@OV&I(^U"3@^P!A;^'L&^Y;7$>VXHQU_F!8OGI15/^KX!83C.L])
M^YSLLWY0MP-U_P%T42FIL 6P8M-'Z[Z'ML_I!:UYT 7U%^B:B@TK),E@C3)K
M<(IZT73UQE"\K!OC U?89NMIBA]"$-H!]]><J[VA>VWW:?7_ %!+ P04
M"  C7WI8E(@=XET%   W%0  &    'AL+W=O<FMS:&5E=',O<VAE970T+GAM
M;+58;6_;-A#^*X17#"V0QJ+>E3D&$BM= S1Q$#O;9\:B;:&2Z)&TT_S[D9(B
MV=1)[8#L0V*]/'>\YWBZ.][DA?'O8DNI1#_RK!"7HZV4NXOQ6*RV-"?BG.UH
MH=ZL&<^)5+=\,Q8[3DE2"N79V+8L?YR3M!A-)^6S!SZ=L+W,TH(^<"3V>4[X
MZS7-V,OE"(_>'CRFFZW4#\;3R8YLZ(+*I]T#5W?C1DN2YK00*2L0I^O+T16^
MB.U2H$3\E=(7<72--)5GQK[KF]OD<F1IBVA&5U*K(.KG0&<TR[0F9<<_M=)1
MLZ86/+Y^T_ZE)*_(/!-!9RS[.TWD]G(4CE!"UV2?R4?V\I76A#RM;\4R4?Y'
M+S76&J'57DB6U\+*@CPMJE_RHW;$D0#V>P3L6L V!=P> :<6<'Y5P*T%W-(S
M%972#S&19#KA[ 5QC5;:]$7IS%):T4\+O>\+R=7;5,G)Z=/RZBNZNXEO9U??
MT,/C/'Z:+1=GZ/9^=HYF\_O%_-MM?+6\B=%BJ7[N;NZ7"S3_HM_/[V[09_2T
MB-''#Y_0!Y06:+EE>T&*1$S&4MFF5QBO:CNN*SOL'CNPC>Y8(;<"W10)34X5
MC!6IAIG]QNS:'M08T]4Y<O 9LBW; 0R:_;JX#8C'ORZ.!]@XS3XYI3[G_]@G
M:#NJY5QX.9UM+L2.K.CE2*430?F!CJ:__X9]ZP_(E>^I+'XG92=N=ALWNT/:
MIPN247&&"I5P/Q9,4H'4%CIG*$(JK!'&GR!75BK]4J7.LX>IIV+&G8P/QSX"
M4+8=XE-4W$6YD>6UNDY8>0TK;Y#5C F)V!IM&$L$$BQ+(!J5#N]H:=O"H6_0
M@%!6Z!DTNB@<8B> :?@-#7^0QI^<"8%VG*U3"1'P.XLZEN6$!@$ 9>/(H!E#
MNB+<0R!H" 0_CZXRDE2-_4YE6FP@'D'7>;[IX1D \JS 8 & 7-P33&%#(APD
M\:@^.L)7VY)'0@^J==BI1@#<D;"SON=;!I$NQHT<@P>@Q_9A&E%#(QH.)EI0
M3K*2!4E494V%Y$0W(1"1J.M(;&'SVP!0EFN9H06AK*@GM+#5%G)KD-!\1[7]
MQ495XA7+01JUBM/0"@(C;&80+ HB8^=B"!:&H=7#Y*@EP8-,XO20)E3OB_I+
M"TE5GI=#K##PL3KFY@ HWS?3+P#"?D^D8;LE9 ]_,NR59/*UIE!5%H1ML)C4
MJDX3K$GEYY@8P&"OATC;A.#!XCN=RRWE97D$37>Z9GF=;>B"5-"8QG=!?5'5
M5G8\7-IO*^<_4W58HKJ*'-+R\*)NWS9&DA\4[EU=L.I%)C<(YGN1R:X+PY%U
M%(NG#-LJCX?+_$,OISKD CCBNL7:<3VS?0%0;J<[B"&4'3@]S-K"CX<K_ST=
M_/[]3M.D/EK'K)@@S W,6@/!W. H1$\YM+4?#Q?_&\(+E9U5 T,Y4E1RM4]B
M2U0L?E0'UW3UZ2TOP)M4*0^.'7ONF;T-C.HPA%!67W)H^P(\W!@,$$S2;"]I
M\A.*(61\IS:!*-ND"*&LGLX'MST#C@9/867^T]S4T6.KAQ\'VB3U3#6G,*_!
M1N2_'K7>55O\7MI.3^AMSV(/]RQ?5"I.-P5:[3FGQ>H5J1:L$!DI1T+Z$*8.
M+54"4Q<?+#UC(%FF RQE\)2A7O#DZW7,4]8,0'VVHTXV@V!!7S:SV_[&'NYO
MEDRJQA.*(I 1[C(*N[TG!'/<T#P10##7ZG0&XZ.)4D[YIIS,"67SOI#5"*9Y
MVDS_KLJ9E_'\&E_$U0RO55.-%.\(WZ2%0!E=*Y76>:"*!J^F=-6-9+MR;O7,
MI&1Y>;FE)*%< ]3[-5.YI+[1"S2STNF_4$L#!!0    ( "-?>EAYG6VAGP(
M /@&   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULM55A;]HP$/TKIVR:
M.HF1$"B;.HA$$ZHBE8(*;)_=Y"!9$YO9!MI_O[,3,EI1U@_=E\1GWWN^=TZ>
M>SLA'U2*J.&QR+GJ.ZG6ZPO757&*!5--L49.*TLA"Z8IE"M7K26RQ(**W/4]
MK^L6+.-.T+-S4QGTQ$;G&<>I!+4I"B:?+C$7N[[3<O83=]DJU6;"#7IKML(9
MZL5Z*BER:Y8D*Y"K3'"0N.P[@]9%U#'Y-N%'ACMU, :CY%Z(!Q.,DK[CF8(P
MQU@;!D:O+8:8YX:(ROA=<3KUE@9X.-ZS7UGMI.6>*0Q%_C-+=-IWOCF0X))M
M<GTG=M=8Z3DW?+'(E7W"KLKU'(@W2HNB E,%1<;+-WNL^G  :'5? ?@5P'\)
MZ+P":%> ]EL!G0I@6^V64FP?(J99T)-B!])D$YL9V&9:-,G/N#GVF9:TFA%.
M!XOYX!K&PV@4#FY@>C>)%N%\UH#1;=B$<'([F]R,HL%\&,%L3J_Q\'8^@\F5
M69^,A_ %IDPBURGJ+&8YQ8M9!&<?/_=<3<69+=RX*N2R+,1_I9"6#V-!3 J&
M/,'D.8%+JFII_E[:I7^2,<*X">U6 WS/;Q\I*'P[W#\"C]X.;YU0TZX/JFWY
MVO_CH(X=1[E=Y_AVQFTNU)K%V'?(3A3*+3K!IP^MKO?]6"O?DRQZ)[)G;>[4
M;>Z<8@\F]"U+"$5!W*EQMRW"B,>B0#B[$4I];@#Y#;D)AW CZ=N/GV N&5<Y
MLSXV2'[13TN^J!LP9X_'&E\6T+4%&%?>!E[/W1YV\Y\9T:F,4K=[X D%RI7U
M5@6QV'!=_D/U;&W? ^M:+^8OR=9+%_Y+4]X)8R97&5>0XY(HO>;7<P=DZ;-E
MH,7:.L^]T.1C=IC2U832)-#Z4@B]#\P&]647_ %02P,$%     @ (U]Z6)@U
M3\(-!P  $C   !@   !X;"]W;W)K<VAE971S+W-H965T-BYX;6S%FUMSVC@
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
MIZ\W'0 V<,.6(S*WUC>N7=\432<6:$J?6)JJ52EG\I7&'&1DRI*^[^CZ?0S
M F=@E$, YF-_T%(\W%KEN':5LZ=$U3;20L84* ,2!J%.QH0!G", UN3<)'/P
M;LHN>0HRQ?9XMN%J>N2^N*!4'-:^=0SHFDK%"XG>O"#40#\DB"!4<- (FP1K
MU>/:SV#>(BBH% :@X';-%T!Z"WL;$EDA):?>P0OA%>5/Q8OU'!4[^_*E:?6T
M>GD_*EY9:\^_X/.H? 5?NRE_$7 3<YE_.5K2N73IG/7E,//R)7MY([)U\=IY
MF@F1K8K+!8UGE"N _'R>96)_H[Z@^JG#\#]02P,$%     @ (U]Z6%1B2Q$[
M @  D@8  !@   !X;"]W;W)K<VAE971S+W-H965T."YX;6RME5MOFS 4@/^*
MY4E[:L,MERT#I*3=M#YTBM)N>W;@ %:-S6R3M/^^MB$LFQ8J17L!VYSS^3M&
M'.*#D$^J M#HN69<);C2NEEZGLHJJ(F:B :X>5((61-MIK+T5".!Y"ZI9E[H
M^W.O)I3C-'9K&YG&HM6,<MA(I-JZ)O)E#4P<$AS@X\*6EI6V"UX:-Z2$!]#?
MFXTT,V^@Y+0&KJC@2$*1X%6P7"]LO OX0>&@3L;(5K(3XLE.[O($^U8(&&3:
M$HBY[>$&&+,@H_&K9^)A2YMX.C[2O[C:32T[HN!&L)\TUU6"/V"40T%:IK?B
M\!7Z>F:6EPFFW!4=NMCH(T99J[2H^V1C4%/>W<ES?PXG"<'\3$+8)X3.N]O(
M6=X23=)8B@.2-MK0[,"5ZK*-'.7VI3QH:9Y2DZ?31TERRDNTDI+P$LQQ:W6%
M=B_HCN=T3_.6L-C39B,;[F4]=-U!PS/0($3W@NM*H<\\A_Q/@&<,!\WPJ+D.
M1XFWD$U0%%RAT ^C$5XTE!TY7O1_R^Z@TW]#[?>S5 W)(,'F U$@]X#3]^^"
MN?]I1'DZ*$_'Z.FV98 "?S>[#DZUT2H7C?[[D#O=<6!!F((1L=D@-AOE?!/\
M^@*Y<>A;<O-!;G[1J3V"-%\3.>,VSGS+;3&X+2X^N'&_<>Y9/^^D3]0@2]<-
M%<I$RW77,H;5H>&NNC[S.[SKUO=$EI0KQ* PJ?YD85ZG[#I@-]&B<5UG)[3I
M86Y8F9\&2!M@GA="Z./$;C#\AM)74$L#!!0    ( "-?>EC/XBI&QQ,  ' T
M   8    >&PO=V]R:W-H965T<R]S:&5E=#DN>&ULK5MM<]NVLOXK&)^>GGA&
MEBWY)>^9<9SD-K=)ZXGCTSD?(1*2T)"$"I"VU5]_G]T%0-*6,S<S9Z:-11'
M+O;UV07TZM;Y;V%M3*ONZJH)K_?6;;MY<7@8BK6I=9BZC6GP9NE\K5L\^M5A
MV'BC2YY45X?SHZ.SPUK;9N_-*_[NTK]YY;JVLHVY]"IT=:W]]JVIW.WKO=E>
M^N*+7:U;^N+PS:N-7IDKTUYO+CV>#O,JI:U-$ZQKE#?+UWOGLQ=O3V@\#_BW
M-;=A\%G13A;.?:.'C^7KO2-BR%2F:&D%C3\WYL)4%2T$-OZ*:^YEDC1Q^#FM
M_H'WCKTL=# 7KOK#ENWZ]=ZS/56:I>ZJ]HN[_<7$_9S2>H6K O^K;F7LZ7Q/
M%5UH71TG@X/:-O)7WT4Y#"8\.WIDPCQ.F#/?0HBY?*=;_>:5=[?*TVBL1A]X
MJSP;S-F&E'+5>KRUF->^^<VU1LW4@;H2K2BW5%=VU=BE+733JO.B<%W3VF:E
M+EUE"VO"J\,6A&GZ81&)O!4B\T>(S.;JLVO:=5#OF]*4XP4.P7%F>Y[8?CO_
M[HKO3#%5Q[.)FA_-C[^SWG$6PS&O=_P=,>S<F$P[V3V-/.9%V.C"O-Z#2P3C
M;\S>FY__,3L[>OD=IDXR4R??6_V_I9OO$MF]A4CYYW\\F\]F+W^ OOK=KW1C
M_];L<M>M7JO/IL3P2EUZ5W9%&R;J8P/EW=IVK=8((W]UVK?&!V4;]=F6-[HR
M$YFIFU+9-JC;M:NJ[8&[;4RI$(Z\9IJA6P1;6NU!=Z(^F+K0WJA/MK8MQE6N
MT/07JWYQ=3#;B?I%UYNPMA[KOV]6%9;OIYW#U;RNK%:7[59]:D<+7.C05D;]
M8JMJHGZ[^F/2#Y_LWB2F-+K4<:]/RH7.E.3-_G#]SS8$_*>[%6;\WK38DIO$
M@2R%W33 Y70"Z=AB'<4"!6A$AZ9;(MIUGJ2$3[:RV!/HG+?KRC78_D=O9/M/
M\&V[-DJO5MZLL,"$'R]<O='-=E\1PW'(QELV@D478$(AD#64Y@9A?0,ZDWMD
MB>M5Y18:FE.EA;3LHA.U;4QA(;J_L?<Z;@GKV +,(\DP+=A%U:X+H5Z2K+=3
M];5GC WSZ<N@%M[I4GG=K SQLTFBL4U1=256;-<N&-4%$73A;<L$>6G\KP-S
M2C0KO0!U>BI-A4R!K99F ]M$"FIYMUAJ8UM=P=HP[Q:9A/XBTVU@D!BD"CB7
M+63)S7H;X!*Z"9%9K+"D34Y[!1(3P56@"*,L6DBJ=<HTY0'X]4ESY%51!=?3
MJ^E >=>_3K*=?8 ,"L.4![8I>_.N6ZWQUWJPA0T-%.+$[QQ6][03.)3)I-23
MWZ^O]J%8_\T@\ZMWKC:!Y5?!F\CS*UCUPG=D%AR+9\\'C@@?6D,YNE'F#MH(
MD*DLVYL#)_:*@P4<<R-!X<*1,5]U?D6DD@M=7'W<S_;QP588#W.H,.EJ&UI3
M3]7UU\_O%+3C%))^%2@^%,@Z'C8Y,$X80@$C@AN05DE 2R@-";3LK0=:<#
M-9L?\6!$M+$2$B/69Q.FE1K7'*3GM!CX"FR;[R&ZFETT+G3IR;PD4N+]!]M
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
M6C[6Z)I!E""N%\ADK Y!D#(QPFFIWYK^7 3?ZBI=M1A:X)B7TI:LIDR*%\'
M@[30 TH0-&LW#AQ3$A2)?^<T#G]G4_4)N:N*%?-]I;-Y4/*J;B3B5OHV=')'
M*B5VW<2B1$*;!.0BJSK>G^*CJB87)M_I'SYV$J+3L9:TB9EKZ2;VO, C%M(G
MIC9@+G3Z7C5UD%!"#G$!#94V,76&A?ICE':>]- "+%+"43_-3Y]*Q3$_.ID,
M&BS(]./*XWUR97 BT#F><%, S0>EU-HN>K??2.("WD&2UH)21@V96_9 "EW4
MMD(AU73,+2-,[D+1K1MJ[U'4C'<-<JT^W<7"X\3Y_@6O8RNY7?-?88<F$C<H
M7KJP>YG$!M<D@S/I: O2 4!X"2;=AJ!>E?&%%6.3B2[>'1GRT!>QK><B?1L'
MQY9*NM"1.(DG&H*D24(BFGM;$<'&+<LE.)@AU@K[&<VT#T6_*ZR+1<@]C:H;
M)86>O'1+Z=C=5I+'<C>:;9;ME?Q?_?%#&DHW-(6)X\G9_#G]>_R4_CUYJMZQ
M(<!SC%S\>"#J9^I,S8Y_C.IDAZ'U1(_IW[,CNMX48 )9=E?Y\._*UK:".0DX
MDN\Y8V4 =2 (E#4VO.XQ;$QRO=8CF+Y&P7K*(4>G/EI"T1%S<+8@D+^FFW=A
M2/WWZZM4*'&":!%LZ#3M^=$_^;9CO/\F*I.9W(D8P<#;M6-UTYHP\7K#G>'T
M+>QJF#*#8+<?X!.62Q*I^GMCSAL"[A?2LZ',<K[[CM0C!KR,"XQ  .\@$I*T
M%L%(";NEXXY8K_.!9\$Q?MPKH@&IXR1'6]SI5OV1HM3:N0,J+C[:VLZJ]Y'[
M7^Q@Z=X%VT:0:W.F+S>R^9-(H:MT,Y,$WFY1NP)"4?EP,^:$NGCD.\UW)B?B
M1#CA4^E0IUN/[UAPL<NYAKLQ'$>VCI+<."N8EEL@@HM'W:ZVB_?VHGDP_$W*
M2QT[VH0 WMV;D$@<VQPL=SW4*VCI;X8*D\CHXQPFRKM:<E/UG]1L'/)PWP*@
M#@+%2Y3N])[2>FH\\MV*>\?!<$LS72%37W^1BZ[7[_(K:87&,ZKK7WMCWDYR
M\(W@4(J(@_XB><1[7 PS:./K,+UEYVIN<"\06,K4#]PD"NI!>O3Q6F)VD2<Y
M*TO<&@:YK&D.8I#F_L/LM>O7!8>#7X$@$JWXMRY\%;%IY0<A^=O\<YIS^15)
M/UQ^B_,9Y2VIJC)+3#V:/CW=DU.2]-"Z#?^F9.%:A#W^2'?YC:<!>+]T@%7Q
M@0CD'QF]^3]02P,$%     @ (U]Z6-+3S9<[ P  ]P8  !D   !X;"]W;W)K
M<VAE971S+W-H965T,3 N>&ULK55M;]LV$/XK!W4H$D")^*H7US:0EW5+@79!
M@VZ?:8FVA4JB1])Q]N]WI!PE U*C'_;!Y)&\Y[GG>/1I?C#VN]MJ[>&I[P:W
M2+;>[V99YNJM[I6[-#L]X,G:V%YY7-I-YG96JR:"^BYCA.19K]HA6<[CWKU=
MSLW>=^V@[RVX?=\K^\^U[LQAD=#D>>-KN]GZL)$MYSNUT0_:?]O=6UQE$TO3
M]GIPK1G ZO4BN:*S:Q'\H\.?K3ZX5S:$3%;&? ^+NV:1D"!(=[KV@4'A]*AO
M=-<%(I3Q]Y$SF4(&X&O[F?UCS!US62FG;TSW5]OX[2(I$VCT6NT[_]4<?M?'
M?&3@JTWGX@B'T5>2!.J]\Z8_@E%!WP[CK)Z.]_ *4/X(P(X %G6/@:+*6^75
M<F[- 6SP1K9@Q%0C&L6U0RC*@[=XVB+.+[\8KX'!!=QJK]H.S!INM$5S@&O5
MJ:'6\! ?QU5=F_W@W3SS&#: L_H8XGH,P7X0@C+X; :_=?#KT.CFOP09ZIU$
MLV?1U^PDXZVN+X'3%!AA_ 0?GRZ!1SY^XA+>3&R$B;=AX?\R<SM5ZT6"?PBG
M[:-.EN_?T9Q\."%*3*+$*?;_IS(_%>+]NY)1^N&G Z%CK?N5ME,-PL!>SM70
M@/%;=+#HV3ZJ5:?=#'X!GHJRQ%FF!2,@.4@*9U32<QQ+=AX]>$6BARPKN!L>
M]>"-;0/\$K=IFI<RSF65XR@)QY%6''($BD@<SBN$,YS+M*0"?C.F.;1=-YL2
M4BZD^4D->^Q$0 ,C1I8B&"(E50F<EW!6"'&.%;@8S_.*O3C^$?.[:U!?NVY#
MAJC6JV'3!O/*.>UCRBQEI(HS15;*"OQ1U,=S$M25!=J4E&CG7 *C*2'D>8HM
M\L*L+[XY#5PPX)5$>$HE 8K)TPJD2!G>A&1I(26<"226!*]3L)079;A1D58B
M#[H)[A2A2':O&]!/V-?=L2RH"D>.VI!-X,AI"4P66%>!RDF.%4:M/!:H$C32
M%H*]]<RS5\VHUW836ZZ#^#3&OC3M3EW]:FQF+^[C)^&SLIMV<-#I-4+)92$3
ML&.;'1?>[&)K6QF/C3*:6_PR:1L<\'QM\(4?%R' ]*U;_@M02P,$%     @
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
MBT1XW>#-31J_ /^O-!X(XX=WL+\++OX!4$L#!!0    ( "-?>E@@PI\^!@(
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
M'DM\\Y'G ]A?8_3T"S8P?$4N_P502P,$%     @ (U]Z6+*[M+8Z!   A0D
M !D   !X;"]W;W)K<VAE971S+W-H965T,34N>&ULG5;;;N,V$/V5@38(;$")
M)>IB*;$-Y-)%\[#;(,FVZ",MC6QA)5$EJ=CIUW=(R8Y3>(W%(C%)D3.'9VXD
M9QLAOZLUHH9M735J[JRU;J\F$Y6ML>;J4K38T$HA9,TU?<K51+42>6Z5ZFK"
M/"^>U+QLG,7,SCW*Q4QTNBH;?)2@NKKF\NT6*[&9.[ZSFW@J5VMM)B:+6<M7
M^(SZ6_LHZ6NR1\G+&AM5B@8D%G/GQK^Z#8V\%?BSQ(TZ&(.Q9"G$=_/QD,\=
MSQ#""C-M$#AUKWB'566 B,8_ Z:SW](H'HYWZ)^M[63+DBN\$]5?9:[7<R=Q
M(,>"=Y5^$IO?<; G,GB9J)1M8=/+,N9 UBDMZD&9&-1ET_=\._CA0"'Q?J#
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
M-S#XNC46K:YS Z\A]I,Y'^8T9>.<)7![D$CO796' #ZXLM;*]+I$3>M'/1P
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
MW4=YL)IN.>'L](>R"'$*7^"ZK(2J$6&&$E?<PD(P:<:AI2C.-\Q:QEG#F'S
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
M=SP,?+'O%U:5[AZT4)8.$_>ZIFLL:A:@_:6BL[->L(/F8CS_#U!+ P04
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
MH=#],DJCW<4#KQOG+^)\T;(:']']:N\-G>)1I>02E>5:@<%J&5VE%ZN9QP?
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
M=!6!;=M#NR!3!TMN#+'!P[3DCHK6!_!Y8=B6W<(GZ'MT^@=02P,$%     @
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
M,"RYL:/U ;Q?&%;:37R"_5]%^A=02P,$%     @ (U]Z6&7DW)V6 @  S 4
M !D   !X;"]W;W)K<VAE971S+W-H965T,S,N>&ULG53;;MLP#/T5P@.&#6AC
MQTF[(4L,-+U@>^@0--CVK-IT+%075Z*;=E\_RG:\%$B#82^V1/,<'9HZG&^M
M>_ 5(L&S5L8OHHJHGL6QSRO4PH]LC8:_E-9I0;QUF]C7#D71@K2*TR0YC[60
M)LKF;6SELKEM2$F#*P>^T5JXER4JNUU$XV@7N).;BD(@SN:UV. :Z4>]<KR+
M!Y9":C1>6@,.RT5T,9XMIR&_3?@I<>OWUA JN;?V(6R^%8LH"8)084Z!0?#K
M"2]1J4#$,AY[SF@X,@#WUSOVF[9VKN5>>+RTZI<LJ%I$GR,HL!2-HCN[_8I]
M/6>!+[?*MT_8]KE)!'GCR>H>S JT--U;//?_X5\ :0](6]W=0:W**T$BFSN[
M!1>RF2TLVE);-(N3)C1E38Z_2L91]MT2PAA.8=UU!6P):[DQLI2Y, 07>6X;
M0])L8&65S"7Z&:P<7PI'+R!, =>/C:RY300?=AD?YS&QMG!"G/<ZEIV.] T=
MXQ1NK:'*P[4IL'A-$'-10V7IKK)E>I3Q"O,13,8GD";IY C?9/A3DY9O\@;?
MKKA#M77(Z6%D\-7,UR+'1<3&\>B>,,K>OQN?)U^.Z)H.NJ;'V+/#S3BD\G]X
M7O<:A[!P")X$80&"(+>>1G"%7%XN16<W3A?:.I*_^P C<JOK)F :'VX458'$
MB>"<TZ '-%)E"[!/Z  ]22VZ;"P;!8K]ZT%X**WB8<(7<=E(502F<)K4M6-@
MD.=A?,9W>IK "PKGX:9Q1E+C\&2_!,:0Y:XR?L+9XS[[4$_B/8=I=)MVCGAH
MO=&9;8@.H^JB<^C?]&[.W0JWD<:#PI*AR>C3602NFQW=AFS=^O7>$KN_758\
M;M&%!/Y>6O9LOPD'# ,\^P-02P,$%     @ (U]Z6)83U8B, P  V <  !D
M  !X;"]W;W)K<VAE971S+W-H965T,S0N>&ULC55AC],X$/TKHR AD)8F39<%
M[;:5N@NG0P*THG?'9]>9) ;'#K;3;O\],TZ:[1ZEXDMBCSUOWINQQ_.===]]
MC1C@H='&+Y(ZA/8Z3;VLL1%^8ELTM%):UXA 4U>EOG4HBNC4Z#3/LJNT$<HD
MRWFTW;OEW'9!*X/W#GS7-,+M;U';W2*9)@?#%U75@0WI<MZ*"M<8_FWO'<W2
M$:50#1JOK &'Y2)93:]O+WE_W/"?PIT_&@,KV5C[G2<?BD62,2'4* ,C"/IM
M\0ZU9B"B\6/ 3,:0['@\/J#_%;63EHWP>&?U5U6$>I&\3:# 4G0Z?+&[OW'0
M\YKQI-4^?F$W[,T2D)T/MAF<B4&C3/\7#T,>_L0A'QSRR+L/%%F^$T$LY\[N
MP/%N0N-!E!J]B9PR7)1U<+2JR"\L/]N ,(57L.ZK K:$M:J,*I44)L!*2MN9
MH$P%]U8KJ=!?PT=KJE>:LEG RGL,'EX<%E_.TT"T&#R5 X7;GD+^&PK3'#Y9
M$VH/[TV!Q5. E/2,HO*#J-O\+.([E!.832\@S_+9&;S9F*19Q)O]!N\@[I2V
MWO/RM"=?J6O?"HF+A.Z,1[?%9/G\V?0JNSG#ZW+D=7D.??E+'4X1/ MQFF#$
M_7A<WW]JA#O;M,+L ;="=R*@!T4K^I&#Z/<JOFO2ND(8B72<0WU\BM9!F$*X
MPA->$4]9O)TO5NN[ES"[RB[@^;.W>9[='/E0[X% ##X0 >6H)00^IK^PG$3/
MZ<WQ^1PXU:AI; KH/!DW^PAW$"0<4G_9TH6G-8ZE'N/L:C2X14>J:>J!5F4M
M3(51IU1.=HT/K)0-!<M! A>!(R@'AOHJ]R3@I"'=W#T82R:.*"T!BXW&"7RE
M,-0890TE]2GK?"3[%!X?E \73YA+_E/9HK%U]AOU.M+0$1$?L\>"NM"10"D\
M@5,/]IP3*Y7@Q5@==G:HHR'FBU56SG8MIWG((',=-*$/JHF[*9MEIX%33; 5
MO0'^()Q8M1A;+H5V;L]U% US\I.C0EZ HA!F3W\?VVL!=!J8$3Z0:,\,>/8_
MC)$.Y8N"]<F-6ZW' V5.(:%RHATU%BY8S!,Z9>-L5RO9RR\PH*/VVA_&G?!4
MJ8+J<NJ2ID?=MD%7Q3?%0\QWWWA'Z_ALK?IN_;B]?_,^"5=1SD!C2:[9Y,WK
M!%S_CO238-O8NS<VT$L0AS4]O>AX ZV7EOKW,.$ XV.^_ E02P,$%     @
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
M9DEC'+5SH/<K14*W"Q>@_S D_P!02P,$%     @ (U]Z6-L95@)" P  "@@
M !D   !X;"]W;W)K<VAE971S+W-H965T-# N>&ULK55M3]LP$/XKITR:0&*D
M24IAT%;B;=H^,%7K-CX;Y])8.':PG0;^_<Y.FO%2T)#V(8Y]OGONN;/O/&VU
MN;4EHH/[2BH[BTKGZN,XMKS$BME]7:.BG4*;BCE:FE5L:X,L#T:5C-/1:!)7
M3*AH/@VRA9E/=>.D4+@P8)NJ8N;A#*5N9U$2;00_Q*IT7A#/IS5;X1+=KWIA
M:!4/*+FH4%FA%1@L9M%I<GPV]OI!X;? UCZ:@X_D1NM;O_B6SZ*1)X02N?,(
MC'YK/$<I/1#1N.LQH\&E-WP\WZ!_";%3+#?,XKF6UR)WY2PZBB#'@C72_=#M
M5^SC.?!X7$L;1FA[W5$$O+%.5[TQ,:B$ZO[LOL_#OQBDO4$:>'>. LL+YMA\
M:G0+QFL3FI^$4(,UD1/*'\K2&=H59.?FW[5#2. 3++M3 5W 4JR4* 1GRL$I
MY[I13J@5++047* ]ADMF%$DL+-# LF0&86>SNSN-'?'RZ#'O.9QU'-)7."0I
M7&GE2@N7*L?\*4!, 0U1I9NHSM(W$2^0[T.6[$$Z2K,W\+(A2UG RU[!VP2W
M+;;.<KS=TM?4L:T9QUE$16/1K#&:?_R03$8G;_ :#[S&;Z'/7Q[$-H;_B%$/
MA_FS1."ZJAO'0NG0G:";+SC@8UW2J&C3!A-A0W'D0!)'YFTH!UJS-1JJ;E!-
M=4-&!!4,+%"'L(ZIW%^MO#'^AXR7\$!.]K=1>-TYL]13 HZ035#_+W2\H6<#
MM6SL=I@-#:?Y+>!=(]9,HG(6VE)0+*UN)"D;81$*HZL @O=HN)=XY\%0UY[T
M4PZ-W5!PU&QM0Z79*5?H2DV@*@^[&R94O+?4PVLC.(8,=:EY%DJ7V#[D'>&3
MHQM+6':7/%)@HLO7L]1[T3F)F'KX^.$H30Y/;'\C/(V0=;)]<D#]R=!GD&O%
MA?1ILU!H20\!-1%?FGY(_9# ];M.*+!(3GH2V=XD_>S'[-"/XT.X"!=A3<DN
M"NK_+U-]!!-(LO=YW=MRT?XZS?PX&6VKZOA1?Z[0K,(K9"%TUJY5#]+AH3OM
M^OM?]>Z5O&)F)8B_Q(),1_N'!Q&8[N7I%D[7H=O?:$=O1YB6]%BC\0JT7VCJ
M^/W".QB>__D?4$L#!!0    ( "-?>E@OMQ%HL (  #T&   9    >&PO=V]R
M:W-H965T<R]S:&5E=#0Q+GAM;*U5[V_3,!#]5TY!()"VIDV[ :6-M!\@^#"H
MU@T^N\FU,7/LS+XLW7_/V4G#D+IJ'_B2V.=[S^_9N<NL,?;.%8@$VU)I-X\*
MHFH:QRXKL!1N8"K4O+(VMA3$4[N)7651Y %4JC@9#D_C4D@=I;,06]AT9FI2
M4N/"@JO+4MC'<U2FF4>C:!>XEIN"?"!.9Y78X!+IMEI8GL4]2RY+U$X:#1;7
M\^AL-#V?^/R0\%-BXYZ,P3M9&7/G)]_R>33T@E!A1IY!\.L!+U I3\0R[CO.
MJ-_2 Y^.=^Q?@G?VLA(.+XSZ)7,JYM&'"')<BUK1M6F^8N?GQ/-E1KGPA*;+
M'4:0U8Y,V8%902EU^Q;;[AQ> D@Z0!)TMQL%E9>"1#JSI@'KLYG-#X+5@&9Q
M4OM+69+E5<DX2K\;0AC!,2S;6P&SAJ7<:+F6F= $9UEF:DU2;V!AE,PDNBDL
M+#K4),*Y>H!0Z$#HG*&E5,+"C=ARY.T.\FX6$XOU6\99)^R\%98\(VR4P)71
M5#CXK'/,_R6(V65O-=E9/4\.,EYB-H#QZ B283(^P#?NCVX<^,;/\.W,[?/6
M(B?[D;[0IJX2&<ZCRA^E?< H??-J=#K\=$#7I-<U.<2>OO!V]LG^+\1=G,06
M0N$^H*[QN+(FKS/_'9$5VHE0E ZDXXS,6+YB$$P&2HJ55)(>H2E0 Q4(COG
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
M;FL>K>A" /LKR_W9&Z' ,*R+?U!+ P04    "  C7WI8<AHI[9,"  #X!0
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6R55&U/VS 0_BNG(*%-8N2M
M%%;:2"TPL0^@BF[CLYM<&@O'SFR'LG\_GY,&)I5J?+GXY>ZYY\YY;KI5^LE4
MB!9>:B'-+*BL;29A:/(*:V9.58/2W91*U\RZK=Z$IM'("A]4BS")HG%8,RZ#
M;.K/ECJ;JM8*+G&IP;1US?2?!0JUG05QL#MXX)O*TD&831NVP17:G\U2NUTX
MH!2\1FFXDJ"QG 7S>+(8D;]W^,5Q:]ZL@2I9*_5$F^_%+(B($ K,+2$P]WG&
M*Q2"@!R-WSUF,*2DP+?K'?HW7[NK9<T,7BGQR M;S8*+  HL62OL@]K>8E_/
M&>'E2AAO8=O[1@'DK;&J[H,=@YK+[LM>^C[\3T#2!R2>=Y?(L[QFEF53K;:@
MR=NAT<*7ZJ,=.2[I4596NUONXFQVKRQ"#%]@U;T*J!)6?"-YR7,F+<SS7+72
M<KF!I1(\YV@F<,.T="<&EJAA53&-$UBYWZ5H!1+ H^\%%C!_1NV>%N[;>NU<
M"9N\#7SZP=8"S>=I:%T11"7,>\*+CG#R#N$X@3LE;67@1A98_ L0NNJ'%B2[
M%BR2@XC7F)]"&I] $B7I ;QT:&GJ\=)W\+K2PEU#S+X:.X31?@02XL0T+,=9
MX)1F4#]CD!T?Q>/H\@"_T<!O= @]^]!+[2-_$'X_>=];,@F9^#4OZ_/*(:_I
M_A W0(QELJ _[_CH(HGC2Y(?SR$]&2=?R:;G9$?G<,U%2^(&+$NG=H]B5?X$
MJB'I&[B ,<3IQ[*> #-N5%'^PN.[&?*:-"4[CO8]1_A&C37JC9\Y!KR..F$.
MI\-8FW=J?G7O9N(=TQON^ LL76AT>GX6@.[F3+>QJO':7BOK)H5?5FXTHR8'
M=U\JI^]^0PF&89_]!5!+ P04    "  C7WI8@C PPUP"  !M!0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970T-2YX;6R-5-MNVS ,_15"&X8&Z&I;CMLT2PPT
MS8;MH5O1[/*LV$PL5)8\2:F[OY\D.VX+I$%?))(B#P\I4;-6Z7M3(5IXK(4T
M<U)9VTRCR!05ULR<J0:E.]DH73/K5+V-3*.1E2&H%A&-X_.H9ER2?!9LMSJ?
MJ9T57.*M!K.K:Z;_+5"H=DX2LC?<\6UEO2'*9PW;X@KMK^96.RT:4$I>HS1<
M2="XF9.K9+H8>__@\)MC:Y[)X"M9*W7OE6_EG,2>$ HLK$=@;GO :Q3" SD:
M?WM,,J3T@<_E/?J74+NK9<T,7BOQAY>VFI,)@1(W;"?LG6J_8E]/YO$*)4Q8
MH>U]8P+%SEA5]\&.0<UEM[/'O@]O":!]  V\NT2!Y9)9EL^T:D%[;X?FA5!J
MB';DN/27LK+:G7(79_/ORB)0^ A+M(P+4!NX1NU$"0LFF"P05N%Q7!6%VDEK
MIK!R#Z/<"?2^>RLP6<(/6Z&&.RR0/["U0 ,G/\,^FD76<?49HZ+GM>AXT5=X
M)11NE+25@<^RQ/(E0.2*'"JE^TH7]"CB$HLS2)-3H#%-C^"E0^?2@)>^@M>5
M%NV[80[5V"&,#R/X>9N:AA4X)VZ@#.H')/F'=\EY_.D(O_' ;WP,/7_[-1UB
M?A3[,'/WA JLUPY[WV6_T)?)54BNGY)/X3VDI^/)Q.W9Z06-(4LA2^ DR9*1
M6R=T%#S2RSAX9)/+0\V)GHU C7H;!MU R-Q-PV =_I*K;H2>W+N/Z(;I+9<&
M!&Y<:'QVD1'0W7!WBE5-&*BULFX\@UBY_Q"U=W#G&^6&JE=\@N&'S?\#4$L#
M!!0    ( "-?>EC*\1213P(  !T%   9    >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;'U4VX[;(!#]E1&MJE9RXUON32PEV:ZZ#UNM-KT\$WL2H\7@ M[L
M_GT!.VXJ9?,",S!S. =F6!RE>M(EHH&7B@N])*4Q]3P,=5YB1?5 UBCLSEZJ
MBAKKJD.H:X6T\$D5#Y,H&H<598)D"[_VH+*%; QG A\4Z*:JJ'I=(Y?')8G)
M:>&1'4KC%L)L4=,#;M'\K!^4]<(>I6 5"LVD (7[)5G%\_70Q?N 7PR/^LP&
MIV0GY9-S[HHEB1PAY)@;AT#M](P;Y-P!61I_.DS2'^D2S^T3^JW7;K7LJ,:-
MY+]98<HEF1(H<$\;;A[E\1MV>D8.+Y=<^Q&.76Q$(&^TD567;!E43+0S?>GN
MX2QA$K^1D'0)B>?='N19WE!#LX621U NVJ(YPTOUV98<$^Y1MD;976;S3/9=
M&H0$/L,-&LHXR#UL4%E3P)IR*G*$K2^.59[+1A@]AZTMC*+AZ&+OQ#,*(]5K
M )M&*6O#QQ]TQU%_6H3&\G.GA'G'9=UR2=[@$B=P+X4I-7P5!1;_ X166*\N
M.:E;)U<1;S ?0!H'D$1)>@4O[6\K]7CI&WBMM/!T _J2QA9A>!G!]=A<US3'
M);%-I%$](\D^O(O'T9<K_(8]O^$U].SZTUQB>QWOA,'0OOL WD,<C*<C/T]G
M8SN.HM2.\2R%<9#.AC *)HG;GP6C:6+G:3"-AY>$A6<E6Z$Z^,;4X&NLK=Y^
MM>_]55OR_\+;C^.>J@,3&CCN;6HTF(P(J+896\?(VC? 3AK;3MXL[?^%R@78
M_;VT3= Y[H#^1\S^ E!+ P04    "  C7WI8*OYQ+D8"   6!0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970T-RYX;6R-5-MNVS ,_15"&X862.-KVC1+##3-
MN@O0(6AV>59L)A8J2YXDU]W?3Y(=KP/28"\629%'YUBDYJU4C[I$-/!<<:$7
MI#2FG@6!SDNLJ![+&H7=V4E546-=M0]TK9 6OJCB01R&ET%%F2#9W,?6*IO+
MQG F<*U -U5%U>\E<MDN2$0.@0>V+XT+!-F\IGO<H/E>KY7U@@&E8!4*S:0
MA;L%N8EFR]3E^X0?#%O]P@:G9"OEHW,^%PL2.D+(,3<.@=KE"6^1<P=D:?SJ
M,<EPI"M\:1_0[[QVJV5+-=Y*_I,5IER0*8$"=[3AYD&VG[#7,W%XN>3:?Z'M
M<T,">:.-K/IBRZ!BHEOI<_\?_J<@[@MBS[L[R+-<44.SN9(M*)=MT9SAI?IJ
M2XX)=RD;H^PNLW4F^RH-0@P7L$)#&0>Y@UM4UA2PI)R*'&'CF^,FSV4CC)[!
MQC9&T7!TN1^E+%K&.9Q]HUN.^GP>&,O*80=YSV#9,8A?81#%<"^%*35\$ 46
M_P($5LZ@*3YH6L8G$5>8CR&)1A"'<7("+QG^4>+QDE?P.FG!0;<^IK%#2(\C
MN,F:Z9KFN"!V=#2J)R39NS?19?C^!+]TX)>>0L^.7<@QCJ=1#I6SX>*I=HA?
MJ&CLN$($;R%*1LDD=48Z"J^GD"13.+M*TW/;0!?=_N5U/"0>TQ:\Z-4*U=Y/
MI ;?7%W;#M%AZ&^Z7O^;WKT8]U3MF=# <6=+P_'5A(#JIK!SC*Q]YV^EL7/D
MS=(^7*A<@MW?2=O]O>,.&)["[ ]02P,$%     @ (U]Z6((^2+V; @  I@4
M !D   !X;"]W;W)K<VAE971S+W-H965T-#@N>&ULC51M;]HP$/XKIVR:6BDT
MB9/P-D""=M4JK5M5UNVS20ZPFMC,-J7[]SL[D'4:1?T OCO?/??<Q7>CG=*/
M9HUHX;FNI!D':VLWPR@RQ1IK;B[4!B7=+)6NN255KR*ST<A+'U17$8OC;E1S
M(8/)R-ON]&2DMK82$N\TF&U=<_U[AI7:C8,D.!CNQ6IMG2&:C#9\A7.T#YL[
M35K4HI2B1FF$DJ!Q.0ZFR7"6.7_O\$/@SKR0P56R4.K1*3?E.(@=(:RPL Z!
MT_&$EUA5#HAH_-IC!FU*%_A2/J!?^]JIE@4W>*FJGZ*TZW'0#Z#$)=]6]E[M
M/N.^GMSA%:HR_A]V>]\X@&)KK*KWP<2@%K(Y^?.^#V\)8/L YGDWB3S+*V[Y
M9*35#K3S)C0G^%)]-)$3TGV4N=5T*RC.3KXJB\"@ U=HN:A +>$2-8D29KSB
MLD"8^\<Q+0JUE=8,84X/H]Q6Z'ROA106.U^HLR7<2,OE2BSH:FH,6@-GWSEI
MYGP46>+J,D;%GM>LX<5>X94PN%72K@U\DB66_P)$5&1;*3M4.F,G$:^PN( T
M"8'%+#V!E[:=2SU>^@I>4UITZ(8Y5F.#D!U'</,V-!M>X#B@@3*HGS"8?'B7
M=../)_AE+;_L%/KD[9_I&//3V-_L&C7<E"BM6 K7B/]1A_ >6,CB@3^301\2
MUJ-? H,P[<;0#_O]'LE)W">YF^; DC".X\/A]T-'+3L/!B'-&*2#G,+#)(\A
M2<(\&4">A6S0A9R%O3R'LXR \_B<!!:FO?XY)<["0=:E,XG)TCO6U>C%[-2H
M5WY#&/"/O1FCUMHNH6DS>W_=FPUVR_5*2 ,5+BDTONCE >AF*S2*51L_B0ME
M::Z]N*9%BMHYT/U2T33N%9>@7<V3/U!+ P04    "  C7WI8N*XT[5 "   @
M!0  &0   'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6Q]5&UOVC 0_BNG;)HV
MB9'$20ME$*FTG;8/G5#9RV>3'"2J8V>V4]B_W]D)&9,H7VS?^>[Q\]AWGN^5
M?C8EHH5#+:19!*6US2P,35YBS<U8-2AI9ZMTS2V9>A>:1B,O?%(M0A9%UV'-
M*QED<^];Z6RN6BLJB2L-IJUKKO\L4:C](HB#H^.IVI76.<)LWO =KM'^:%::
MK'! *:H:I:F4!(W;17 ;SY:IB_<!/RO<FY,U."4;I9Z=\;58!)$CA )SZQ X
M32]XAT(X(*+QN\<,AB-=XNGZB/[9:R<M&V[P3HE?56'+13 -H, M;X5]4OLO
MV.NY<GBY$L:/L.]CHP#RUEA5]\G$H*YD-_-#?P\G"9/I*PFL3V">=W>09WG/
M+<_F6NU!NVA"<PLOU6<3N4JZ1UE;3;L5Y=GLF[((##["/5I>"5!;N$--2PE+
M+KC,$=:^.&[S7+72FAFLJ3"*5J"+):]NL8"' U6)00/OO_.-0/-A'EIBY\X(
M\Y[)LF/"7F$2,WA4TI8&'F2!Q?\ (<D:M+&CMB6[B'B/^1B2> 0L8LD%O&2X
MJ\3C):_@==+"HWYS3F.'D)Y'<!TV,PW/<1%0"QG4+QAD[][$U]&G"_S2@5]Z
M"3V[]##GN%Y&.R)@CS"#MY"PB1N3"<0C=I/2F,138%<3NN(4V"BZ3FB<3A,7
M-;I)8YK3T21EY]2%)U5;H][YWC3@RZPKX,$[M/]M5_7_PKN_XY'K724-"-Q2
M:C2>7 6@NW[L#*L:WP,;9:FC_+*D+PRU"Z#]K:(^Z UWP/ I9G\!4$L#!!0
M   ( "-?>EB83JWI/0,  ! (   9    >&PO=V]R:W-H965T<R]S:&5E=#4P
M+GAM;*U637/;-A#]*SMLIN/,,"((\$NNI)G8CEL?DKI6TIYA$A(Y(0$5 */D
MWW<!4HS<460?<EDM@-V'MX\+0(N]TI]-+82%KUTKS3*HK=U=1I$I:]%Q,U,[
M(7%EHW3'+0[U-C([+7CED[HVHH1D4<<;&:P6?NY>KQ:JMVTCQ;T&TW<=U]^N
M1*OVRR .#A,/S;:V;B):+79\*];"?MK=:QQ%$TK5=$*:1DG08K,,WL:75XF+
M]P%_-V)OCGQPE3PJ]=D-[JIE0!PAT8K2.@2./U_$M6A;!X0T_ATQ@VE+EWCL
M']!O?>U8RR,WXEJU_S25K9=!$4 E-KQO[8/:_R'&>E*'5ZK6> O[,98$4/;&
MJFY,1@9=(X=?_G74X24)=$R@GO>PD6=YPRU?+;3:@W;1B.8<7ZK/1G*-=!]E
M;36N-IAG5Q^4%<#@#?S5<VV%;K_!@S!8D@&U@3]W0G.GGH&+3Y+W56-%]?KR
M*/BVD5R6#6_A3@XMXK2^^,@?6V%>+R*+'-U.43GRN1KXT!_PB2F\5]+6!M[)
M2E1/ 2(L;JJ0'BJ\HF<1;T0Y Q:'0 EE9_#8I!CS>.P'>$-IT1J/1]6C=ZK&
M 2$YC>#.V:79\5(L SQ(1N@O(EC]^DN<D=_.\$LF?LDY]-4SW^84W;. I^G"
MU Y'S> Z$' G+S5NKXT]K,):E$I.P?"Q;O3WT:WJM:VGX0>\C-8<M857$-,P
MI61PBBP;9T@Z.(PQ^%TK8^!>JTUC(0^+A*'-V1PM2YTE\\)#WLE2=0*2D,:)
MLX0 "^<L=7Z1PSNN92.W"(44KE7782.O:ZX%7-PT;>\Z'^)9G#F3HB&%\XIG
ME: _3PF&LJ+#PH06P\P\38>9-$__KT2*XA1AG,;.%AE:1O-C)3"+.25BPKP&
M!&V*@"]1@LSF7@DZB!#/:/JL$O'/4H*$\RP9!,C(Z*0Y'27!K_M$B2R<)[GK
MB2)%#4CN54'B3Y0@- &G:^8[P]F8Q2]4HF!.CN30&#&#4^<X.KJE.Z&W_BTR
M4*I>VN'"GF:GY^[M<,M_#Q_>RO=<;QN\E%NQP50RR], ]/#^# .K=O[.?U06
M7Q#OUOAD"^T"<'VC\-X?!VZ#Z4_ ZC]02P,$%     @ (U]Z6,4EUU:Q @
MY@4  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&UL?53;;MLP#/T5PAN&
M%G!K6W9N71*@Z04;L Y!N\NS8C..4%MR);EI_WZ4G'HID.;%(B7R\!S)Y'2K
M]*/9(%IXJ2MI9L'&VN8BBDR^P9J;<]6@I).UTC6WY.HR,HU&7OBDNHI8' ^C
MF@L9S*=^;ZGG4]7:2DA<:C!M77/]NL!*;6=!$KQMW(MR8]U&-)\VO,0'M+^;
MI28OZE$*4:,T0DG0N)X%E\G%(G/Q/N"/P*W9L\$I62GUZ)SOQ2R('2&L,+<.
M@=/RC%=850Z(:#SM,(.^I$O<M]_0;[UVTK+B!J]4]5<4=C,+Q@$4N.9M9>_5
M]AON] P<7JXJX[^P[6)'+("\-5;5NV1B4 O9K?QE=P][">/X@P2V2V">=U?(
ML[SFEL^G6FU!NVA"<X:7ZK.)G)#N41ZLIE-!>7;^4UF$#,Y@J>FAM7T%+@NX
M>6I%0U=O+_K]$)85E_;],9S\XJL*S>DTLD3&04;YKO"B*\P^*)PPN%/2;@S<
MR *+]P 1J>BEL#<I"W84\1KS<TB3$%C,TB-X:7\UJ<=+/\#KI$4/U =%2]8A
MC1U"=AC!-=2%:7B.LX ZQJ!^QF#^Y5,RC+\>X9?U_+)CZ/.C+W.([%&XPV2!
M+A7K%>K^8MV'P0]7[#,DX3 =^W4P26'1BJH0LC2>BJ@;K9[1D3&0I.$D'KEE
M&"=PVVHI;*LQ!.Q_)9=CE2):)22C,$T&;HF'8[A2TEC=^C8^$_*,<$MB2*AA
MEJ0PB8>09B$;I9"F84()EWG>UFW%+1;4H:0F%]S/@!.6AB/&3LE@X23+3M__
M]CV9$"3-0](5AX-!TAF,98<>+=KKO1IUZ2>,@5RUTG9MV._V0^RRZ]W_X=T$
MO..Z%-) A6M*C<]'@P!T-U4ZQZK&=_)*69H+WMS0($;M NA\K:B;=XXKT(_V
M^3]02P,$%     @ (U]Z6.LY=+6! P  #P@  !D   !X;"]W;W)K<VAE971S
M+W-H965T-3(N>&ULK5;;;MLX$/V5@;8H-@!CB1=)5FH;B-,66Z!=&$V[^TQ+
MM"U4$E6*BIN_WR&EJ G6<?/0%UY&G#-GYIA#+X[:?.L.2EGX45=-MPP.UK97
M8=CE!U7+;J9;U>"7G3:UM+@U^[!KC9*%=ZJKD$51$M:R;(+5PMLV9K70O:W*
M1FT,='U=2W._5I4^+@,:/!@^E_N#=89PM6CE7MTJ^[7=&-R%$TI1UJKI2MV
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
M([C^FNJ&YC@/; -I5"\89!_>Q>/HTQ%^Z< O/8:>_5_)#JDX>L]A%? 3J=*
MKG9@,X]\A6K(OAN(&V)8MDI97O >TK-H,O+S."%V3LXN+Q(;6Z+U*.!D3&+[
MH-)T? KD,H(G:2CS;NDH]6'QQ=C/9'*PO.%>4W!4:]_Z&G+9"M/UQ[ [_"Y7
M75.]NG=?TQU5ZUIH8%C:T.A\,@I =>W>&48VOL56TMB&]<O*_I"HG(,]+Z5M
ML]YP%PQ_;O8'4$L#!!0    ( "-?>EC1L6]W[@(  &D&   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4U+GAM;)U5;4_;,!#^*Z<,H58JY+6%0EN)5XT/;*BP
M3?OH)I?&(K$SVZ'EW^_LM &D4DW[4)]?[AX_S[EWF:RD>M8%HH%U50H]]0IC
MZC/?UVF!%=/'LD9!)[E4%3.T5$M?UPI9YH*JTH^"8.17C MO-G%[#VHVD8TI
MN< '!;JI*J9>+[&4JZD7>MN-.5\6QF[XLTG-EOB(YD?]H&CE=R@9KU!H+@4H
MS*?>17AVF5A_Y_"3XTJ_FX-5LI#RV2[NLJD76$)88FHL B/S@E=8EA:(:/S9
M8'K=E3;P_7R+?NNTDY8%TW@ERU\\,\74._4@PYPUI9G+U5?<Z!E:O%26VHVP
MVO@&'J2--K+:!!.#BHO6LO4F#_\2$&T"(L>[O<BQO&:&S29*KD!9;T*S$R?5
M11,Y+NRC/!I%IYSBS.R;- @G< 1W(I45PA-;HSZ#1WK\K"D19 XW>8XN=^]\
M8,XH;HZI%"DO.7,9[CVQ18FZ/_$-,;/X?KIA<=FRB#YA$49P+X4I--R(#+./
M #Y)ZG1%6UV7T5[$:TR/(0X'$ 51O <O[O(4.[SX$[Q6FK_-B]ZEL45(=B/8
MZCK3-4MQZE'Y:%0OZ,T.OX2CX'P/OZ3CE^Q#G_W/@^W2L/>6W1K@-S*E >W+
M >4=JP6J+O=VB.P0PBUFJ%@)O&5EB!6NJ;MH!&; % C:,-,8J5Y!6;H'$ WB
M9.3L* J<'9)]-/;T#08U)/$8DG$ 27(*5*Y4C.*C0X_>SS&TR'T8#T,(!V$T
MIC$( Y@?LJH^OW:D4H49-QJ8R*C41)-3ZV@4%TNHE<RYH:K/FK:I].)^^QOU
M;9:/<(U5;;8W]\+QL$^U=017!1-+2[E]![L5CT/X3J(5]$X30A@&-(QI>)*&
MDG0 \2 9)F2307@Z<C8ZV?E7]M^5?X5JZ9J<AE0VPK2=H-OM^NA%VS[>W-LF
M?,_4D@L-)>84&AR?##U0;6-K%T;6KIDLI*'6Y*8%?0M060<ZSR4UE,W"7M!]
M769_ 5!+ P04    "  C7WI8_+K')6D"  "/!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970U-BYX;6R=5&UOTS 0_BNG@!!(87'2])4VTKHQL0]#TS9 ?'23
M:Q/-L8/MKN/?<W;2K$A=A?CBG.V[YY[G+N?Y3NE'4R):>*Z%-(N@M+:919')
M2ZRY.5,-2KI9*UUS2UN]B4RCD1<^J!91PM@HJGDE@VSNSVYU-E=;*RJ)MQK,
MMJZY_KU$H7:+( [V!W?5IK3N(,KF#=_@/=IOS:VF7=2C%%6-TE1*@L;U(CB/
M9\O4^7N'[Q7NS($-3LE*J4>WN2X6 7.$4&!N'0*GSQ->H! .B&C\ZC"#/J4+
M/+3WZ%=>.VE9<8,72ORH"ELN@DD !:[Y5M@[M?N"G9ZAP\N5,'Z%7>?+ LBW
MQJJZ"R8&=27;+W_NZO O 4D7D'C>;2+/\I);GLVUVH%VWH3F#"_51Q.Y2KJF
MW%M-MQ7%V>RKL@AC^ C7,E<UP@-_1C.#>VI^L14(:KV_62'] GC@%\(E6<96
M.7!9 !6)2B#A_0-?"30?YI$E?BY+E'=<EBV7Y!4N<0(W2MK2P&=98/$W0$3"
M>G7)7MTR.8EXB?D9#.(0$I8,3N -^FH-/-[@%;Q66K2OCCFFL45(CR.X&9N9
MAN>X"&B(#.HG#+)W;^(1^W2"7]KS2T^A9__?MF-*3N8ZK@1^(M<&T/4/J/I8
MKU#W'7!+XI;XA<-;B.,P'C-G)&$Z'K8&8VG_1TW":3RE-9ZD, [9< P/RG)!
MC@D+V63:&J.A,^)IR$;QL5)&!T-2H][XI\! KK;2MO/2G_:OS7D[9"_N[5-U
MP_6FD@8$KBF4G8V' >AV_-N-58T?N96R-,#>+.G%1.T<Z'ZM:.RZC4O0O\'9
M'U!+ P04    "  C7WI8@3E@F-D"  ""!P  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U-RYX;6RE5=MNVS ,_17"&X8-:'R1G4NSQ$!ONSQT"YIN>U9L)A9J
M2YZD-.W?3Y(=KPO<M, 0()9$GD,>2J)F.R'O5(&HX:$JN9I[A=;U- A45F!%
ME2]JY,:R%K*BVDSE)E"U1)H[4%4&) Q'0449]]*96UO(=":VNF0<%Q+4MJJH
M?#S'4NSF7N3M%V[8IM!V(4AG-=W@$O6/>B'-+.A8<E8A5TQPD+B>>V?1]#RQ
M_L[A)\.=>C(&JV0EQ)V=?,WG7F@3PA(S;1FH^=SC!9:E)3)I_&XYO2ZD!3X=
M[]D_.>U&RXHJO!#E+Y;K8NY-/,AQ3;>EOA&[+]CJ&5J^3)3*_<.N]0T]R+9*
MBZH%FPPJQILO?6CK\!H :0'$Y=T$<EE>4DW3F10[D-;;L-F!D^K0)CG&[:8L
MM3169G Z_28TP@0&\+VV55)36)I]S[<E@EC#LJ 2!U9U#A>B,B=!4>MV DLM
MLKL]Z 3.;'&9?H3WMW15HOHP"[3)SL8(LC:3\R83\DPF$8%KP76AX(KGF/]+
M$!A9G3:RUW9.CC)>8N9#')T "4E\A"_N:A4[OO@9OD9:L"^0ZM/8,"3]#/:&
M355-,YQ[Y@HIE/?HI>_>1*/PXY'\DBZ_Y!A[^E\[UR?F:+A^,4U@!0O),H0;
MRC?HR@^?)>7:)!.=PEL8C_UP; Y=\[UZJ)DT)B$AHSPS-S:'T$^<==AZ#8T7
MRHQ9/0224S^:=)9;H6D)IN,H37G.^ :H!K/Y6*U0F@, DZ1#3(@_"EL$-HQV
M5P\1P_  T2^+=+)(9&0UKGM(GRP"<>S'88^HY,#RHJC1N!=Q1%02'B#Z146=
MJ('1-'"_/BTQC!-_E/1HB1(@(W](7B]F>%B8%\7$!P7KNS_!D[Y8H=RX[J\@
M$UNNFQ;9K78/S%G35_^Z-Z_3-94;QA64N#;0T!\//9!-QV\F6M2NRZZ$-CW;
M#0OS2**T#L:^%J;3MA,;H'MVTS]02P,$%     @ (U]Z6 B&,O^J @  #08
M !D   !X;"]W;W)K<VAE971S+W-H965T-3@N>&ULK57?;]HP$/Y73MDZ;5))
M0OC1E@$2=)VVAVZH;)WV:)(+L7#BU':@_/<[.R%E$D5[V(M]=NZ^^SX?=XQW
M4FUTAFC@.1>%GGB9,>4H"'2<8<ZT+TLLZ$LJ5<X,'=4ZT*5"EKB@7 11& Z#
MG/'"FX[=W4)-Q[(R@A>X4*"K/&=J/T<A=Q.OZQTN'O@Z,_8BF(Y+ML8EFI_E
M0M$I:%$2GF.AN2Q 83KQ9MW1O&_]G<,CQYT^LL$J64FYL8>OR<0++2$4&!N+
MP&C;XBT*88&(QE.#Z;4I;>"Q?4#_[+23EA73>"O%+YZ8;.)=>Y!@RBIA'N3N
M"S9Z!A8OED*[%7:-;^A!7&DC\R:8&.2\J'?VW+S#OP1$34#D>->)',M/S+#I
M6,D=*.M-:-9P4ETTD>.%+<K2*/K**<Y,OTF#< T=^%[:5](C6%+=DTH@R!26
M&5/8L:H36+ ]%</ ;,=4<@E+(^/-(>H2'IFHF'OGF:8"U]?P_@=;"=0?QH$A
MKC9C$#>\YC6OZ!5>W0CN96$R#7=%@LG?  &);)5&!Z7SZ"SB)XQ]Z'4O(0JC
MWAF\7OMR/8?7>P6OEA8<GDN?TE@C]$\CV'X;Z9+%./&HH32J+7K3=V^ZP_#C
M&7[]EE__'/KT/];QE+2SR4]+@]_(E :T!04J!^8K5&U)[!+9I0MWSR4U+3DE
M?,L3\@>6RXHXE^3_5#%E:'\+H=\+;\+&&%BC\Q*JG:Y2\1AA*P5I$MSL*9L_
MO+J Z,:_IJT##UQO.JE"!%X0*FH#BE%+]/VKP06MX<W%,:K@J7M0V?S !_X0
M]D[5P+]JK,ZIX@5'+9JC6KM!I"&VLNIN;6_;63>K6_S%O1Z4]TRM.>46F%)H
M2$0]4/7PJ0]&EJ[A5]+0^'!F1O,:E76@[ZFDIF\.-D'[#S#] U!+ P04
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
M\/PB]4!VDZ%;:-&Z;EP+;7K;J949IBBM@3G?"-.1_<(&&,9S]AM02P,$%
M  @ (U]Z6 1,A7C" @  ! 8  !D   !X;"]W;W)K<VAE971S+W-H965T-C(N
M>&ULE53;;MLP#/T5PAN&#?!J6[&=RY( 2=MU>V@;]+(]*S;C&)6E3)*;YN]'
MV4[6 6FPO4BD1!Z=(XD<;Y5^,FM$"R^5D&;BK:W=C(+ 9&NLN#E3&Y2TLU*Z
MXI9<701FHY'G35(E A:&:5#Q4GK3<;.VT-.QJJTH)2XTF+JJN-[-4:CMQ(N\
M_<)=6:RM6PBFXPTO\![MXV:AR0L.*'E9H32EDJ!Q-?%FT6@>N_@FX$>)6_/*
M!J=DJ=23<[[G$R]TA%!@9AT"I^D9SU$(!T0T?G68WN%(E_C:WJ-_;;23EB4W
M>*[$SS*WZXDW\"#'%:^%O5/;;]CI21Q>IH1I1MAVL:$'66VLJKID8E"5LIWY
M2W</_Y+ N@36\&X/:EA><,NG8ZVVH%TTH3FCD=ID$[E2ND>YMYIV2\JSTQME
M$:((/L,=/J.LT<!\!PNM\CJS<,XM%DKO8"9S"BCH'D=P3Q\CKP7"[0JNA%IR
M<3KWXP-?"C2?QH$EPN[8(.O(S5MR[ UR$8-K)>W:P*7,,?\;(""E![EL+W?.
M3B)>8'8&O<@'%K+>";S>X?IZ#5[O#;Q66K"_$G-,8XL0'T=P13<R&Y[AQ*.J
M,JB?T9M^>!>EX9<3_.(#O_@4^O0_W^H8_=,'=*!Z#[K<P:8#S3K047/9;F!N
MB.!V:2Q:768&WD/L)T/6S&D:M7,_@:N=1/K:JM@%<.DJ6"M3ZP(U^8^ZV0#&
M_%X8 HO\01RY:=COP0TJ274@(/4':0_Z?I+VR4Z'$<R%4CE)1D-0Z'Y6:94N
M90&<?O<LRVB#?!(1I7Z<#B$:^(R^8)3X_2B!!T6P(V*8A#YCL3.8SP8-YZ$?
M)O&QYPI>56:%),#U'P.9JJ5MB_2P>FAQL[:R_X2W_?&:ZZ*4!@2N*#4\ZR<>
MZ+;GM(Y5FZ;.E\I2UVC,-;5IU"Z ]E>*:KUSW &'QC_]#5!+ P04    "  C
M7WI86:E+5]@"   A!@  &0   'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6R5
M5=MNVS ,_17"&X8.R.I;+DV6&$C:KNM#VZ!IMV?%9FRCLN1)<M+\_2C;\3H@
M#;872C3)PT-)I*<[J5YTAFC@M>!"SYS,F'+BNCK.L&#Z7)8HR+*1JF"&5)6Z
MNE3(DCJHX&[@>4.W8+EPHFG];:FBJ:P,SP4N%>BJ*)C:+Y#+W<SQG<.'QSS-
MC/W@1M.2I;A"\UPN%6ENAY+D!0J=2P$*-S-G[D\6?>M?._S(<:??[,%6LI;R
MQ2JWR<SQ+"'D&!N+P&C9XB5R;H&(QJ\6T^E2VL"W^P/ZM[IVJF7--%Y*_C-/
M3#9S+AQ(<,,J;A[E[CNV]0PL7BRYKB7L6E_/@;C21A9M,#$H<M&L[+4]AW\)
M"-J H.;=)*I97C'#HJF2.U#6F]#LIBZUCB9RN;"7LC**K#G%F>A>&@3?AR_P
MB%L4%6I8[&&I9%+%!BZ9P52J/<Q%0@XIG>,$5O0PDHHC/&S@X7EU.O#LB:TY
MZL]3UQ!;F].-6V:+AEGP#C,_@#LI3*;A6B28_ W@4IE=K<&AUD5P$O$*XW,(
M_1X$7A">P N[LPMKO/ =O*8T]W >^EB-#4+_.(+MN(DN68PSAUI*H]JB$WWZ
MX ^]KR?X]3M^_5/HT?]<U#'NI]%O1<PKNAC(!9@,X8;+->/4J&V2,[:66_P,
M.U18I^\LZSV4;?JX33^I[\2*P H?'M;:H%%YK.$C^#VO[],Z' U)CL(!W.P%
MTM.7Z=Z%:]OA2NI*I:A(?U:U@5YU;SP.[#+T0KMX@Q#N40KJ$TZ8P]$%R8$_
M(AGV1[#@4B9T,*@)"NWCRXU4N4B!T>N?QS$92*<"1KW0&\.08OLPZ 5##YXD
M84Z(7!#TO,"S&Z\7^G;C7_3"\>#8=;IOVK9 8F^'DX985L(T'=Q][>;?O&G[
M/^[-\+QC*LV%!HX;"O7.1P,'5#.0&L7(LAX":VEHI-3;C&8X*NM ]HVD0= J
M-D'W5XA^ U!+ P04    "  C7WI8X5_<F'0"  ##!0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970V-"YX;6R55&UOFT ,_BL6FZ96:@H!^K(L04K:3INT;E';
M;9\O8.#4XX[='4WW[^<#PK(M1=H7L,_VX\>^L^=;I1]-B6CAN1+2++S2VGKF
M^R8ML6+F5-4HR9(K73%+JBY\4VMD61M4"3\,@G._8EQZR;P]6^MDKAHKN,2U
M!M-4%=,_5RC4=N%-O=W!'2]*ZP[\9%ZS N_1?JW7FC1_0,EXA=)P)4%COO"6
MT]DJ=OZMPS>.6[,G@ZMDH]2C4SYF"R]PA%!@:AT"H]\37J$0#HAH_.@QO2&E
M"]R7=^COV]JIE@TS>*7$=Y[9<N%=>I!ASAIA[]3V _;UG#F\5 G3?F';^5Y$
M'J2-L:KJ@XE!Q67W9\]]'_8"+H,7 L(^(&QY=XE:EM?,LF2NU1:T\R8T)[2E
MMM%$CDMW*?=6DY53G$T^*XLPC6$"GY"*,S.XPU3)E O.VK:I'.@%:%)D <+Y
M )DV9+<<#1P]L(U <SSW+;%QF'[:9UYUF<,7,D]#N%72E@9N9(;9GP ^E3'4
M$NYJ686CB->8GD(T/8$P"*,1O&CH3=3B12_@=:7Y]S0(64/2H1H[A/@P@INH
MF:E9B@N/1L:@?D(O>?-J>AZ\&^$7#_SB,?3DOV[J$/E1^,/D86E<(FHU5AO4
M0[OARU^IM1N'B<HG#2G,&+0&7D=Q^(_C'L<3>O%:H[1PQ&4J&GH6P"4LTU0W
M)-X\TRJB-WH,\<4XC%"RF%C4%81OS^!!629&7[$C=NA"_+W!JE 7[?HPD*I&
MVF[&AM-A0RV[P?SMWJVW6Z8++@TESRDT.+TX\[H>[12KZG9,-\K2T+=B25L6
MM7,@>ZYH5'O%)1CV=O(+4$L#!!0    ( "-?>EA_B8WP\@(  ,<&   9
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
MZ<+>5TVANVRZ(4]GTWO12NA2:L><^XHI_%\ETVOIO6A]]$JH.#B?7_^@G<M
M;$R7*Y%IQ,K.KGY:=])3TS_Z^^EE&ZY[EPUE$J6PUJ9!JZ^C$F5G6PX4WYKF
M\($KW6J:VP1(#**8H-^ON6X0JT'AH/Y_8?(O4$L#!!0    ( "-?>ECSGDW,
MD (  +H&   9    >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;*U5VT[<,!#]
ME5&**I" W)8MVF8CL1LJ^D"U(J5]-LDDL4CLU/9>^/O:3D@7FD4\\))X[#G'
M,\?.2;3EXE%6B IV3<WDW*F4:F>N*[,*&R+/>8M,KQ1<-$3I4)2N; 62W(*:
MV@T\;^HVA#(GCNS<2L017ZN:,EP)D.NF(>)I@37?SAW?>9ZXHV6ES(0;1RTI
M,45UWZZ$CMR!):<-,DDY X'%W+GR9\G$Y-N$7Q2W<F\,II,'SA]-\#V?.YXI
M"&O,E&$@^K7!)=:U(=)E_.DYG6%+ ]P?/[-_L[WK7AZ(Q"6O?]-<57/GTH$<
M"[*NU1W?WF#?SX7ARW@M[1.V?:[G0+:6BC<]6%?04-:]R:[780_@3P\ @AX0
MO 9,#@#"'A"^%S#I 59JMVO%ZI 01>)(\"T(DZW9S,"*:=&Z?<K,L:=*Z%6J
M<2K^P16"#V>0=N<.O("4EHP6-"-,P566\353E)6PXC7-*,H9I(IGCV=&[AR6
MO-%74!)[BL<)*D)K>:()[],$CH].X @H@Y\57TO"<AFY2E=M]G:SOL)%5V%P
MH$(_@%O.5"7AFN68OR1P=;M#S\%SSXO@3<8$LW,(_5,(O" <*6CY?G@P D_>
M#_??Z"8<3C"T?.%!/BOYF+ =<#(.-(8RDRW)<.YHQY H-NC$GS_Y4^_KF"@?
M299\$-D+P2:#8).WV..T(@+/%O;VKLB3]C!]S84@K$0S/H7KG;G1.*9HQSRU
MS,91-W$07$3N9E^H_W/\R_!E3C*2,YT..5U;[MY7W: HK3M*L-]C=]F'V<&
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
MIO*I,W8@PS6IJ+KE^T_8^ D-7\JIM$_8-[F> VDE%2\;L%90%JQ^DX>F#AW
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
MJ26U^:?,AE+,485Y973G14ESB?FJNQ2';]1X!WI/5>R)';9BAR?%/@I-V6M
MU-\?;Q 42Y!XB[ID#CM.0'CM'TCMJMH])[5<=R<4"Y KVRL4L2E6)T:[VK:C
M&YO"!^M3;%-U5WFEJ7O<'96K'#\%@Q0IO<LA;I^L^T8]T:*TT;L4&H/<#C-L
MM2!- 3Y/!<9O,S$O:)MW]!=02P,$%     @ (U]Z6-'S?@W- P  Q0P  !D
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
ML];=.=^O/JY\)7R1%B7(Z+,,\\XB63W??J_8W@BVJH_\GY@0+*\OEY3,*:\
M\OTSDP4T-]57A/:KT?0_4$L#!!0    ( "-?>E@.-#Y0_0$  -$$   9
M>&PO=V]R:W-H965T<R]S:&5E=#@P+GAM;*V486_3,!"&_XIE$-HD5J=)6U!)
M(K%6B$F JI7!9S>]-M;L.-C79OQ[;">-,JF=]H$OB<^^Y\V]MB]IH\VC+0&0
M/"E9V8R6B/6<,5N4H+@=Z1HJM[+31G%TH=DS6QO@VP IR>(HFC'%147S-,RM
M3)[J TI1P<H0>U"*F[^W('63T3$]3=R+?8E^@N5IS?>P!GRH5\9%K%?9"@65
M%;HB!G89_3R>+Q*?'Q)^"6CL8$R\DXW6CSZXVV8T\@6!A *] G>O(RQ 2B_D
MROC3:=+^DQX<CD_J7X)WYV7#+2RT_"VV6&;T(R5;V/&#Q'O=?(7.S]3K%5K:
M\"1-FSN94%(<+&K5P:X"):KVS9^Z?1@ XTM W 'Q:X&D \+.L;:R8&O)D>>I
MT0TQ/MNI^4'8FT [-Z+RI[A&XU:%XS#_H1'(E-R0;[K:WR 819:P07*U!.1"
MVFNW]+!>DJNWURE#]T&/L:(3OVW%XPOB2RA&)!F_)W$4)V?PQ>OQ^#G.G,W>
M:]Q[C8-><E$O6#KGHP4GYT'?27-;\P(RZEK%@CD"S=^]&<^B3^=<_2>Q9QZ3
MWF/RDGH>CO'GZ1C/66WY6>!]CQ_S*&7'8?TO9;1%L<&%\\W^G9N]J"R1L'-,
M-/HPI<2T#=0&J.MP!S<:W8T.P]+]<\#X!+>^T^X>=H&_UOU?+/\'4$L#!!0
M   ( "-?>EC1/!)CF (  'D'   9    >&PO=V]R:W-H965T<R]S:&5E=#@Q
M+GAM;*U5;6_3,!#^*U9 :$BPO+49C#;2V@R!Q%"U:NRSEUP3:XD=[$O;_7ML
M)PO=FI8AK1\:GWW/<_><Y;O)1LA[50 @V58E5U.G0*S/75>E!514G8H:N#Y9
M"5E1U*;,755+H)D%5:4;>%[D5I1Q)Y[8O86,)Z+!DG%82**:JJ+R80:EV$P=
MWWG<N&9Y@6;#C2<US6$)>%,OI+;<GB5C%7#%!"<25E/GPC]/QL;?.OQBL%$[
M:V*4W EQ;XSOV=3Q3$)00HJ&@>K/&N90EH9(I_&[XW3ZD :XNWYD_VJU:RUW
M5,%<E+<LPV+J?')(!BO:E'@M-M^@TV,33$6I[#_9M+[CSPY)&X6BZL Z@XKQ
M]DNW71UV 'YT !!T@. Y8'0 $': \*6 40<8V<JT4FP=$HHTGDBQ(=)X:S:S
ML,6T:"V?<7/M2Y3ZE&D<QC\% HG(1S(75<507R@J0GFF;8Z,Y\!3!HJ<)("4
ME>J]]KQ9)N3D[?N)BSJ^87'3+M:LC14<B.4'Y$JS%HI<\@RRIP2N3KS//GC,
M?A8<94P@/26A_X$$7A .)#1_.3P8@"<OA_M'U(3]7826+SS(9VL\5-@6.!H&
MFM9PKFJ:PM31;U^!7(,3OWOC1]Z7H:*\)EGR2F1/"C;J"S8ZQA[_8,AR:OO'
MY58W0@5#M6LY(LMANN Z]J/(T[^)N]XMR[Y?=+;OENR[!<&NUQ,EXU[)^*B2
M)>HW1V5FG][E%L$\$+*0(FM2)+=42LKQ@5RDJ6QH.:1RO)?6<WW_]$B.YOB_
M=^GN-*4*9&Z;NR*I:#BV+[S?[>?'A6V;S_9G>JZT8^ O33N4KJC,&5>DA)6F
M]$[/M #9-OK60%';UG<G4#=2NRST; 1I'/3Y2NCVUQDF0#]MXS]02P,$%
M  @ (U]Z6!O'[? 7 P  V@D  !D   !X;"]W;W)K<VAE971S+W-H965T.#(N
M>&ULK59;;]HP&/TK5E9-K42;&X3+(%)+-JU25U70;L\F?(!5)V:V W2_?K:3
M1EQ,1Z>^$-LYY^0[!]_Z:\:?Q0) HDU&<S%P%E(N>ZXKT@5D6%RQ)>3JS8SQ
M#$O5Y7-7+#G@J2%EU T\+W(S3'(G[INQ!Q[W62$IR>&!(U%D&>8O-T#9>N#X
MSNO B,P74@^X<7^)YS &^;1\X*KGUBI3DD$N",L1A]G N?9[25OC#> G@;78
M:B/M9,+8L^[<3@>.IPL""JG4"E@]5C $2K60*N-WI>G4G]3$[?:K^C?C77F9
M8 %#1G^1J5P,G(Z#IC##!94CMOX.E9^6UDL9%>87K2NLYZ"T$))E%5E5D)&\
M?.)-E<,6P6\>(005(3B5$%:$\%1"LR(T33*E%9-#@B6.^YRM$==HI:8;)DS#
M5O9)KO_VL>3J+5$\&=\S":B-+M%MGK(,T"/>@.BAL9I>TX("8C.4P PXAZE^
MAZZ% "D0SJ?HCN )H402$.@\ 8D)%1=*Z6F<H/.S"W2&2(X>%ZP0"BWZKE3E
MZH^Z:57:35E:<*2T!-(K%/H-%'A!:*$/3Z<'%GIR.MW?I;LJXSKHH XZ,'KA
M43T3D"V&DMBT$_6Z[XDE3F'@J(4M@*_ B3]_\B/OBRV4CQ1+/DAL)["P#BQ\
M2SVV3+N&FJ4KR"7C+[8<2[W(Z.GM;A7[OM=W5]OQ6#!>N(M)#C&=3@W9\=*L
MO33?Z:5AFO7XUXW:QP4TT*C,T2RPZS3E!:8-W6!%KI;="%(@*SRA"GE-U9:-
M\Q20VOS14*D0B>Z8L$ZQLKS6EJ70WTO& NGN!?.FRDXPK3J8UOO_Y#>3$=O1
MB$;9@IW=R!9 ZZ#T[O[4^#<D.82TCLR,J X@.CV [1TU ;6F4H++TU%;SAB7
MY(\9L#F,#FJ[]*/VWMP>6E!!T&WM^;2A.JVNW6J[MMK^+ZL-= _2YJA]L XO
M_68SV'-D005>M+^F;:BH$^PY<K<.4GWK^8'YG.0"49@IGG?55I'P\B91=B1;
MFK-UPJ0ZJ4USH2Y?P#5 O9\Q=;Y6'7U<U]>Y^"]02P,$%     @ (U]Z6.![
M"SO9 @  6@@  !D   !X;"]W;W)K<VAE971S+W-H965T.#,N>&ULK59=3]LP
M%/TK5H8FD ;Y; I=&XDV3..!J:*P/9ODIK%([,QVVN[?SW9"Z$=:\<!+XX][
MCN\YMN[M>,WXJ\@!)-J4!143*Y>R&MFV2'(HL;AB%5"UDS%>8JFF?&F+B@-.
M#:@L;,]Q0KO$A%K1V*S->31FM2P(A3E'HBY+S/]-H6#KB>5:;PN/9)E+O6!'
MXPHO80'RN9IS-;,[EI240 5A%''()M:M.XI#'6\"?A-8BZTQTDI>&'O5D_MT
M8CDZ(2@@D9H!J\\*9E 4FDBE\;?EM+HC-7![_,;^PVA76EZP@!DK_I!4YA/K
MVD(I9+@NY"-;_X16ST#S):P0YA>MVUC'0DDM)"M;L,J@)+3YXDWKPQ; #8\
MO!;@[0."(P"_!?@?!00M(##.-%*,#S&6.!ISMD9<1RLV/3!F&K223ZB^]H7D
M:I<HG(Q^,0EHB"[1/4U8">@);T",T$(]K[0N +$,S5A9,0I4"CU[CT-W&_7X
M!*#S*5#(B+Q YS%(3 IQH0B?%S$Z/[M 9XA0])2S6F":BK$M5=;Z;#MI,YPV
M&7I',G0]],"HS 6ZHRFDNP2VDMMI]MXT3[V3C#$D5\AWOR'/\?R>A&8?AWL]
M\/CC</>$&K^[0=_P^4?YC.5]QC; H!^H"\I(5#B!B:4JA@"^ BOZ^L4-G>]]
MIGPF6?Q)9#N&!9UAP2GV:%9SKE[SR9?<YV;#&AI674U74> ,!V-[M>U23U#H
M>[M!\6&0?W/M=T$[J@:=JL%)53%DH'2E/;+ZQ#1D@ZT4+D/]''?$] 0%0;@G
MYC#(NW'ZM82=EO"DECEG*V(:B^IKJGP805)7)G1.3<'JO:#PT-9@$.QI.@P*
MW.M]33U!WG#_@NRMJEL"7YKN)5#":BJ;8M2M=@WRUO2%O?6I:IQ-GWNG:;KN
M ^9+0@4J(%.4SM50V<R;3M9,)*M,;7]A4G4*,\Q5\P>N ]1^QI1=[40?T/V=
MB/X#4$L#!!0    ( "-?>E@2'VX@R0,  %T-   9    >&PO=V]R:W-H965T
M<R]S:&5E=#@T+GAM;*U776_B.!3]*U9VM&JE3O-)@ X@M:2CK32S4Y7.SK.;
M7(AW$INU#;3_?FTG32$Q:1]X@=@^Y_J>8\>YGNP8_RUR (F>RX**J9-+N;YR
M79'F4&)QR=9 U<B2\1)+U>0K5ZPYX,R0RL(-/"]V2TRH,YN8OGL^F["-+ B%
M>X[$IBPQ?[F!@NVFCN^\=CR052YUASN;K/$*%B!_KN^Y:KE-E(R40 5A%'%8
M3IUK_RKQ#<$@_B&P$WO/2$MY8NRW;MQE4\?3&4$!J=0AL/K;PAR*0D=2>?Q7
M!W6:.35Q__DU^E<C7HEYP@+FK/A%,IE/G9&#,ECB32$?V.XOJ 4-=+R4%<+\
MHEV-]1R4;H1D94U6&92$5O_XN39BC^#'1PA!30C:A.@((:P)X4<)44V(C#.5
M%.-#@B6>33C;(:[1*II^,&8:MI)/J%[WA>1JE"B>G/W-)* A^HSN:,I*0(_X
M&<056JC]E6T*0&R);I=+,*NSAT$/6/$>(&4T)07!9@W/$I"8%.)<A?NY2-#9
MIW/T"1&*'G.V$9AF8N)*E;.>V4WK_&ZJ_((C^?D!^LZHS 6ZI1EDAP%<);91
M'+PJO@EZ(R:07J+0OT"!%X26A.8?IP<6>O)QNM^C)FS6+S3QPJ/QC.4V8RMB
M9"?J\^1*K'$*4T<=& +X%IS9GW_XL??%9LHI@R4G"G9@6-08%O5%GWUX-V.)
MOD(&'!=H(;'<2,9?VIP+=%VR#94V^ZLT8I.&/GVWLR",XHF[W;?5 HH#[Q"4
M6$"#/="!#8/&AL%);+@PX@&IMQ=]8ZDR8_^@Z--?S3_8RSH*QRWY%LRXK=Z"
MB49V\7$C/CZ1>/5M45\.VL$E1(7@0"7!19\)<2?Y\<!OF=#%^'[0<BJQ@#S_
MR!X8-C8,3V2#'IASR(B\4&,",$_S/MG#3K:?PY;J]R&)!1+;%8\:Q:->Q7=4
MJE43LA:L-C>D&TXDT5OYQUJ][)+05:7W]AG*M57=J)N7/QZT]'5![8W=ASA0
M-V[4C7O576?_JH)!%642/3*4@-JA:LV,F&\$/ZGEE"\V/>/W4IV_BTBZB'#L
MV^7XWEMMXIUH@_Z0.7#T9D#OR53/>K" HZ@EV08:M%7;0.,CJ^COE61^K^Q[
MSK;$%-:JKE?UDY$N]7F+SJBIU\ZMLOS.=R*,!AU=753DC^*V, LJ&(8M9>Y>
MW5D"7YGZ7:!4&U\59$UO<T>X-I5QJ_]&WQU,/?L6IKIX?,=\1:A !2Q52.]R
MJ+SF52U?-21;F^KVB4E5*YO'7-U_@&N &E\RY5C=T!,T-ZK9_U!+ P04
M"  C7WI8N9X-5NX"  "V"   &0   'AL+W=O<FMS:&5E=',O<VAE970X-2YX
M;6RU5FMOVC 4_2M65DVMU#4/0F@91"IDTRJM6]7']ME-+F UL3/;@>[?[]H)
M*850\:'[ GZ<<WS/M;F7T4K()[4 T.2YR+D:.PNMRZ'KJG0!!55GH@2..S,A
M"ZIQ*N>N*B70S)**W T\+W(+RK@3C^S:C8Q'HM(YXW CB:J*@LJ_$\C%:NSX
MSGKAELT7VBRX\:BD<[@#_5#>2)RYK4K&"N"*"4XDS,;.I3],(H.W@%\,5FIC
M3(R31R&>S.0J&SN>"0AR2+51H/BUA"GDN1'",/XTFDY[I"%NCM?J7ZUW]/)(
M%4Q%_IME>C%VSAV2P8Q6N;X5JV_0^.D;O53DRGZ258/U'))62HNB(6,$!>/U
M-WUN\K!!\*,]A* A!-N$< ^AUQ!ZAQ+"AA#:S-16;!X2JFD\DF)%I$&CFAG8
M9%HVVF?<7/N=EKC+D*?C'T(#&9!/Y(JGH@!R3Y]!#<D=/J^LRH&(V7KG$?"1
MP0;NE"0X4IJEA/*,X#5@DCDY3D!3EJL3%'VX2\CQT0DY(HR3^X6H%"+5R-48
MN3G?39LH)W64P9XH_8!<"ZX7BGSA&62O!5RTW/H.UKXGP9N*":1GI.>?DL +
M>AT!30^G!QWTY'"Z_X:;7GN+/:O7VZMG4]Z5V)H8=A--41FJDJ8P=K!J*)!+
M<.*/'_S(^]R5E/<42]Y)[%7"PC9AX5OJ<?.*C[\+A0]U)D5!IOC &*\8GY.?
M)4AJRI+:??6@7MY]5[[K<R-[KJFYR]CW_8$W<I>;B>Q !>&@_QJ5=*$\+VQ1
MKZSW6^O]_VB]^95W.:^/[6]$>W[A7VP9[P#YY^&6[UW0P.L/NFU'K>WH$-N-
MJ5**);.M"Z=8G.R>-A:[G$4[]X#7<+YMK0L5];=0R2[*O_ B?\N<NU'1"Y!S
MVQD5247%=5WDVM6V^5[:GK.U/L&F7/?0%YFZHU]3.6=XS3G,4-([&V"^9=TE
MZXD6I>T;CT)C%[+#!?ZQ &D N#\3V#N:B3F@_:L2_P-02P,$%     @ (U]Z
M6%M]:0R>!   H!4  !D   !X;"]W;W)K<VAE971S+W-H965T.#8N>&ULU5AM
MDYLV$/XK&IKI)#/.@3#XY6I[QC:7-!]RN;F79/I1!VN;"2!7DE^NO[Z2P!@,
M9NS&UZ9?;!#[+/L\*RTK#3:4?><+ (&V<93PH;$08GEMFMQ?0$SX%5U"(I_,
M*(N)D+=L;O(E Q)H4!R9MF5US)B$B3$:Z+$[-AK0E8C"!.X8XJLX)NQE A'=
M# UL[ ;NP_E"J %S-%B2.3R >%K>,7EGYEZ",(:$AS1!#&9#8XRO/>PJ@+;X
M&L*&%ZZ1HO),Z7=U\RD8&I:*""+PA7)!Y-\:IA!%RI.,X\_,J9&_4P&+USOO
M'S1Y2>:9<)C2Z%L8B,70Z!DH@!E91>*>;GZ'C) .T*<1U[]HD]E:!O)77- X
M \L(XC!)_\DV$Z( P)TC #L#V(< YPB@G0':IP*<#.!H95(J6@>/"#(:,+I!
M3%E+;^I"BZG1DGZ8J+P_"":?AA(G1K=4 .JA]^C+4N6!H[<>"!)&_)T<>WKP
MT-LW[] ;9"*^( PX"A/TE(2"MPH#CPNZXB0)^, 4,B3EV/2SUT_2U]M'7H]M
M])DF8L'131) 4'9@2BXY(7M':&(W>O3 OT)MW$*V9;=K IJ>#K=KX-[I<-S
MIIVGIZW]M8_ZT\FH$S8%.O5 52ZN^9+X,#1D/># UF",?OT%=ZS?ZD2YI#/O
M0LY*@CFY8$Z3]]&#FI7O)[(2!&A*8UD>.=$%9LP82>8@2Y9 SR^H:'='7O3P
M>$-8T$*WJ_@9&**SU(BC\4HL* O_.IR?:1[2>%P=CZJRZY'=<P?FNBAO8\SG
MRGLA9R5YW5Q>][7ES0J-O%@)+F39")/Y3O0Z?=V*OCWG0-ZJ2:=;-O&J)JZ=
MFY2DZ.12=$Z6(J>X5Z&%;K; _)"#FDDIZ19Z)%LT@01FH:CCFKZQ4X@2RP^X
M=4"W:M6I&'E5HW:_:%7BW,TY=W^4LYH24,>M6PG(MMTJN:H9[K6K]+J5?.).
MYRB_7LZO]Z]-[X\2(?3W\0Y82.6C;[H)D9#Q&IALJE(3)+_;@#Z0D*&O)%K5
M:I=&W2UJYUY9_0/I:JW:!XO%:U3@'Y:/?JYO_\?FSRU-UL"U1JF<4\J%'!7H
M1?; ]^#3>:(*<0N-8[I*:A=1OS*#NE;-*FJ,]-R:?"%G)5&QM>_AK$99;^)E
M1%\ T(-T'?J0SD]4,X\/].7EI[G8?Y3$1H]4%JWBP!<Y@67;!^@6M@(];B!:
M0];(U?: UFEKOYGFN3FYE+=R4@J--?[?)"4K04ANE78(Y;LV5\VL9,,>'\OS
MM!E[=OXNY*V</WN?/_MGSI\C[0FK7TYV93DYW>[A6FID=W8N+N2MG(O]+@@W
M[AE^DER<LXJ:^3CR<U:?W&DS\NR\O<9>#.\W8_C5=V-Y/[5KITLMU:=$L##A
MH7^\=\I"+'7"N.;;4S7#3M7.P]7]GMO'1SM/O-]9X?]H:W6*1FZ%? \[-2)5
M[7"O9HOBU1FZ?;<JDUDXNHJ!S?41($>^:N[20Y]\-#]F'.O#M8/QB3I^U$=B
M>S?IV>5GPN:2/XI@)EU:5UT9&TN/ ],;09?Z@.R9"D%C?;D $@!3!O+YC%*Q
MNU$OR ]E1W\#4$L#!!0    ( "-?>EA+BNF\# 0  -D0   9    >&PO=V]R
M:W-H965T<R]S:&5E=#@W+GAM;+U8;6_B.!#^*U9..MU)+7GEI3U  K*W=Q]V
M%Y7=N\\F&<!J$N=LIY1_?[830FB"J="J7YK$F6<R\\PSQM/QGK)GO@,0Z#5-
M,CZQ=D+DC[;-HQVDF/=H#IE\LZ$LQ4(^LJW-<P8XUJ TL3W'&=@I)IDU'>NU
M)9N.:2$2DL&2(5ZD*6:'.21T/[%<Z[CP1+8[H1;LZ3C'6UB!^)$OF7RR:R\Q
M22'CA&:(P69BS=S'T/450%O\0V#/&_=(I;*F]%D]_!U/+$=%! E$0KG \O("
M"T@2Y4G&\5_EU*J_J8#-^Z/W/W7R,IDUYK"@R;\D%KN)-;)0#!M<).*)[O^"
M*J&^\A?1A.N_:%_9.A:*"BYH6H%E!"G)RBM^K8AH -S!!8!7 ;RW@. "P*\
M_GL!004(-#-E*IJ'$ L\'3.Z1TQ92V_J1I.IT3)]DJFZKP23;XG$B>E7*@"-
MT#WZEJLZ\$>TDM**BP00W:#5#C.X5[S&:$%3*3:.E=D=6@D:/1]!=VBFRD?$
M ?T6@L DX;]+EURA^=@6,D[U-3NJ8IJ7,7D78G(]](5F8L?1IRR&^-R!+1.L
ML_2.6<X]H\<0HA[RW3OD.9[?$=#B_7"O QZ^'^X:LO'KFOG:7W#!7UF5>:LJ
M:,88SK8@VU*@]0$U[9;XH)=G>\SBNU/A/DN$X(AD: F,4/GJJ]QL9.EE5VV
MB.)"!<L(^SI"M;>\3-T'QW'&]DN3UK:5Y[:LPK;5R>*,H* F*# 2M&0D O2D
MN%!IE424J;Z54YF-V=UPV'.&4L_ZVJ4>,WSD]0:.A.MKEWK,\'L)O3>HIE^3
MTO\PU7QZS0G3Z(9TNHCMMTH;M$32MO':&FD;^4VC,T8&-2.#&V2B<^N6B=F=
MDD>_DDF_2R9FN._W?,< #Z]\/>@-@F[X&3G#FISA3>0 BPCOIL?L,'CHN2,3
M/6;X57K,<&_0ZWOOH&=4TS/ZL&[Z5@@N<!:3;"NWWR)= ^NB=]1J@5'0WG+;
M5H-ANYW:5GWO8C\]U)P\W""91G9=69E='D5S:>]<F.%717,S_(P@USF=MIP/
MW(1U+^)U B;95!&=U=IIZZ;#+&B;A1UF?G!1.6[C&.K>H)WO5."DF6AG@F;/
M5R5T!7]50[?CS[GR3EQY1H]2.*F4C#Z"=Q)BA*M)\I'G.(*))4=%#NP%K.FO
MO[@#YX].>GZFM_!G>3NG[G1R=LU'YXHZKJ<7PGDA^ZO(Y0I4/VSJZ MIGM #
M0&5&CPUGF&<Z#KH=+=:V:F_@88>5V]%A=F/F2X%M]>S,442+3)2#4;U:S^<S
M/96^69^KN5W/DB<WY=#_!;,MD2>\!#;2I=,;RIA8.4>7#X+F>K)<4R'G5'V[
M QP#4P;R_8;*Z;)Z4!^H_YLQ_1]02P,$%     @ (U]Z6+B'-C,, P  = D
M !D   !X;"]W;W)K<VAE971S+W-H965T.#@N>&ULQ59=;]HP%/TK5]DTM1(E
M(>&K#"+QT6I]Z(9@[9Y-<B$629S9!LJ_G^V$#%A ?9C4%["=>X[O.;GQ=7_'
M^%I$B!+>DC@5 RN2,NO9M@@B3(BHLPQ3]63)>$*DFO*5+3*.)#2@)+9=QVG;
M":&IY??-VI3[?;:1,4UQRD%LDH3P_0ACMAM8#>NP,*.K2.H%V^]G9(5SE"_9
ME*N97;*$-,%44)8"Q^7 &C9ZXXZ.-P&O%'?B: Q:R8*QM9X\A0/+T0EAC('4
M#$3];7&,<:R)5!J_"TZKW%(#C\<']D>C76E9$(%C%O^BH8P&5M>"$)=D$\L9
MVWW#0D]+\P4L%N87=D6L8T&P$9(E!5AED- T_R=OA0]' +=Y > 6 /<<T+H
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
M< U0^RNFJG@[T0=T?QKB?U!+ P04    "  C7WI8ALBF+>@"  !F"0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Y,2YX;6RMEFMOVC 4AO^*E553)ZW-/1 &
MD6BS2Z5NJ\JZ?7:3 XGJQ,PVT/[[V4X:03 32/T"MO.^)^<Y/HDSWE#VQ L
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
M5S\+SS.CO"%9FF4C"R95;I-50Y5-(M<3U/B2J8RD:.@$I\Q/O5]02P,$%
M  @ (U]Z6%^K^K>P @  ,P8  !D   !X;"]W;W)K<VAE971S+W-H965T.3DN
M>&ULC55K;],P%/TK5V&"36+-H]V T4;J@XI)#%4K@\^N<YM8<^S,=MKNWV,[
M:>A05_C2^''/\;G'OK?#K52/ND TL"NYT*.@,*:Z"4--"RR)[LD*A=U92U42
M8Z<J#W6ED&0>5/(PB:+KL"1,!.G0KRU4.I2UX4S@0H&NRY*HYPERN1T%<;!?
MN&=Y8=Q"F XKDN,2S4.U4'86=BP9*U%H)@4H7(^"<7PS';AX'_"3X58?C,%E
MLI+RT4UNLU$0.4'(D1K'0.QG@U/DW!%9&4\M9] =Z8"'XSW[W.=N<UD1C5/)
M?[',%*/@8P 9KDG-S;W<?L4VGRO'1R77_A>V;6P4 *VUD64+M@I*)IHOV;4^
M' "2Y!5 T@*2_P7T6T#?)]HH\VG-B"'I4,DM*!=MV=S >^/1-ALFW"TNC;*[
MS.),^ET:A/@*+F&ZO(49TT:Q5>T='N<*T5Z8@46M:&&]<ON42UTKA/,9&L*X
MOG!0:5^56M8J9Y1PN!44SH )^%'(6A.1Z6%HK%9W8DA;79-&5_**KC[<26$*
M#5]$AMD1_/0T/DY.$(36I,ZI9._4)#G)>$=4#_KQ>TBB^!,\+&=P?G9Q3-AI
MFAG2/4W2/T[S0EZ_N\B^YQV\PCMG@AF\_&:+(K,W8(C(V8HCC+5&HV%,GVJF
MCCHY:8BO/;&K^DV:Q%$4#</-85K_BGJA>M"I'IQ4?8^NTS"1PS,2I4&N 7>4
MU]JF 0^]90^RPR>I7%%JL,T+YEA2HO"=AKE]A05#F')6P?)9&RR/97E2B&N6
M-[HB%$>![88:U0:#].V;^#KZ?.R.&[(X.7!CT/MP]9<9X4%=EJARWZXT4%D+
MTY1HM]IUQ+%O!.&?\*:=VM>7,Z&!X]I"(WM6T+BQGQA9^2I?26-[AA\6MJNC
M<@%V?RUMI;<3=T#W/Y'^!E!+ P04    "  C7WI8I$>5K%(%  #W)0  &@
M 'AL+W=O<FMS:&5E=',O<VAE970Q,# N>&ULK9IK<Z,V%(;_BL;-='9GTH
M8SMU/+,)OE_BV33=SP3+-K. 7)#M[;^ON)C:\@DEW9,/,9?W?="1Q$$(=8\\
M_IYL&1/D1QA$R4-C*\3N7M,2;\M"-[GC.Q;),VL>AZZ0N_%&2W8Q<U>9*0PT
M0]=M+73]J-'K9L>6<:_+]R+P([:,2;(/0S?^^Y$%_/C0H(W3@:_^9BO2 UJO
MNW,W[(6)U]TREGM:25GY(8L2GT<D9NN'QA=ZO^RD^DSPI\^.R=DV22-YX_Q[
MNC->/33TM$ L8)Y(":[\.; G%@0I2!;CKX+9*"^9&L^W3_1!%KN,Y<U-V!,/
MOODKL7UHM!MDQ=;N/A!?^7'$BGB:*<_C09+])\="JS>(MT\$#PNS+$'H1_FO
M^Z.HAS.#Y, &HS 8JL%ZQV 6!K.NP2H,5EU#LS TZQKLPF#7-;0*0ZNNH5T8
MVG4-G<+0J6N@^JGE]-J6LK&O6OM=RZFY:>WVIJ<&IU<M;K]G.34YK=WF]-3H
MM':KTU.STZS=M?PFR>XPQQ5NKQOS(XE3O>2E&]EMFOGEC>5':4)Y$;$\ZTN?
MZ"VX8(3:Y#?2=^/(CS8)6;*8O&S=F-V3%YF_5ON $;X&SM^21S?Q/>)&*^+X
MP5ZP%?GD,.'Z0?)9$E]?'/+IYC.Y(1I)4D-"_(B\1KY(;L\._+'E^T0RY,&;
MB_VN)F2$:3DUKXCF,8_&>"<:D\QY)+8)Z4<KM@+\BVH_-2H FJS:LGZ-4_T^
M&I5$AWEWQ*2WQ- -$RC04[7]A>VD77_7[E3;)_NHTMZOML_=N++P@_JQ&X!]
M6#]VR#ZJ'SMD']>/';)/ZL=. ?NT?NR0?58_=L@^KQ\[9%_\7)]__KENL_S?
M-7]Q!YMEAC0SGODN+TMH4#+*C19L3(>"]\G.]=A#0X[U$A8?6*/WZR_4UG^'
M$@$FS,&$]3%A TS8$!,VPH2-,6$33-@4$S;#A,TQ80M,V#,F;(D$NTAF5IG,
MK"IZ;R%?4?W(XR&#\EGNM3-O^B9ZZ%E&N]75#N=YZEID=LSFI<B!2+I^*>I#
M(FI=B@: J-E4+C<$"ZY<;@2(J&Y>BL9 =$U3*=,$(IGT4C0%J\"^%,V RUF&
M(IH#(MU0RK2X%E';5MOE&5)9+:42EH#*:K7;I>JBZS7+KM>L['K?LI=[^8K@
M'ECL;ECQ!G";3@CX'M0=*WD??;QBPAQ,6!\3-L"$#3%A(TS8&!,VP81-,6$S
M3-@<$[;(8<WSG&0;'27;0")3>9XL(9'5@G.-7>8:NS+79+,1_H$1MEXS3Z33
M%XG@WG?"=^D\)CB8KR1^--M@PAQ,6!\3-L"$#3%A(TS8&!,VP81-,6$S3-@<
M$[:PKW)$6TDUUPIE%+6\5E 3SC*M,LNT_CO+R %-/I"!<DJE_Z,Y!1/F8,+Z
MF+ !)FR("1MAPL:8L DF;(H)FV'"YIBP1:O&X.09$EGJZQ(DLG4XM[3+W-*N
MS"WEUY8=B_,$4_&B5(GZ:)K!A#F8L#XF;( )&V+"1IBP,29L@@F;8L)FF+ Y
M)FR1PUKGTT!W377T HK4- .)]":<9CIEFNG42S/E1]W3EUPHSW2N2D#OJ!++
M$R32%9$#DI3)JCXH4H9U TADJ/.#=0H^ D6&,C]X+=+O.DJ9)B!):<YIG2J8
M@9<S.Q=_RFPA9&DK%U]<BV2'4Q]^H$BID"4DTBVE5VIG"Q1"%F^R)40)\?@^
M$OF7N/)HN4KI2[980SG^2._G%#B^H/?+?!'2O_A\2=3<C3=^E)" K>6E]+N6
M?$['^3*C?$?P7;8\XHT+P<-L<\O<%8M3@3R_YER<=M(+E&N]>O\ 4$L#!!0
M   ( "-?>EC6XJOZ0P,  - 4   -    >&PO<W1Y;&5S+GAM;-U8;6_:,!#^
M*U&Z3JTT-4#:0%9 VI J3=JF2NV'?:L,<<"2XV2.Z:"_?CX[+T!]B/7#!@LJ
M\=WC>^[Q^=*X'99JS>G#@E+EK3(NRI&_4*KX& 3E;$$S4E[E!14:27.9$:5-
M.0_*0E*2E!"4\:#7Z41!1ICPQT.QS.XR57JS?"G4R.\W+L_>OB0COQM=^YZE
MF^0)'?E/%^]_+G-U^\ZS][,/9V>=I\O;7?^% 2[]P$EZ<P#I50?GU1A&'6U3
MU],-V45K8>']PY3ME8:2#]S:SC>EG6/!\4'*]NA"B/L=AZI6DM435,TR'J:Y
M:'LF]*U#\Y*,>L^$C_P)X6PJ&42E)&-\;=T]<,QRGDM/Z6;5B;K@*5\LW+46
M]''%DS&12Y/;9K#?TVKZ#E!;()!QW@CL^=8Q'A9$*2K%G3;,9.-\!7G5^'%=
M:(5S2=;=WHW?!IB;3C+-94)EDZ;KUZ[QD-,4Y$@V7\!=Y44 H%)YI@<)(_-<
M$*.ACJ@&FG9&.7^ A_Q'NL6]2C=VS.R7:(9:4#6T--8 _DTVR[U)>_TF7J]@
MS[GZO-3+$<:&%J/WDJ9L9>Q5V@C V+LX.RD*OO[$V5QDU"[^X(3C(:GCO$4N
MV8O.!JTRTPXJ?>^92L5FFYY?DA2/=*7J=EJEN.;>"6K^NW6>4T$EX9NB=>\?
M<Y7?K#CL_RO)YK?*KF"GQNK-?>PB;TY!9'0*(D^B)P>G(#(^?I'A"6BL3I9'
M)S*H3D(;QZVMPU;C]>!0._*_P^&8MTF]Z9)QQ41E+5B24/'JS*7I%9GJ/]>V
M^/7\A*9DR=5C X[\=OR-)FR9Q<VL>RA$-:L=?X7E=:/F1*US,9'0%4TFE2GG
M4S/T]$!GK2X(V$7NS.5&L!B+N1' L#R8 BS&1F%Y_J?U#-#U6 S3-G B S1F
M@,;8*!<R,1\LCSLFUI=[I7$<AE&$570R<2J88'6+(OAQLV':( ++ YG^K-;X
M;N,=LK\/L#W=UR'82O%.Q%:*UQH0=]T@(H[=NXWE@0AL%[#>@?SN/-!3[I@P
MA%W%M&%/,([$,89 +[I[-(J0ZD3P<>\/]I2$81R[$<#<"L(00^!IQ!%, 6C
MD# T[\&=]U%0OZ>"]G^8X]]02P,$%     @ (U]Z6)>*NQS     $P(   L
M  !?<F5L<R\N<F5L<YV2N6[#, Q ?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%
MG;^OVJ5QD L9>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XU
MA]) 1-MC0[!:+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.
M\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,B
MM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+ P04    "  C7WI8K=NP+) &
M  ""0@  #P   'AL+W=O<FMB;V]K+GAM;,6<2V_;.!1&_PKAU0S0UM9;*IH"
MJ9-I#6223)QV:] R;1/5PZ6DI.FO'U)&FLMI>3$;7ZX</2(?42(/^5'RN\=6
M?5VW[5?VO:Z:[FRR[_O#V^FT*_>BYMV;]B :O67;JIKW>E'MIMU!";[I]D+T
M=34-9[-T6G/93-Z_>S[6K9K"A;8792_;1J\T*[Y(\=B];#>+[$%V<BTKV3^=
M3<:_*S%AM6QD+7^(S=ED-F'=OGW\U"KYHVUZ7BU+U5;5V20X;O@B5"_+7U8O
M#>0]7W?CFIZO[[@&.9ND,WW K51=/^XQ'I]KQ@>A=SXN#7W[EZQZH2YX+SZJ
M=CC(9F<.H\]B"DYC+(?GSV,AOE7_IQC;[5:6XJ(MAUHT_;$<E:@,8-/MY:&;
ML(;7XFSRO OCS89=-KTN)+9HCH?2^YHSU5^]V!S/NM>XH S56ZDWJ,5F!#\=
MY.?[\T_L[\N+Q?S\BMW>W5Q\GM\O7['%]?P-F]]< \@0@0P]0JY" !DAD)%/
MR A Q@AD[!,R!I ) IGXA$P 9(I ICXA4P"9(9#9:2'O%=_HYH^=*\6;G3![
M=Z_8VK1#&_D@ 62.0.:GA;S6GF$!>\V60UUS]<3:+5O*72/U__.F!Y % ED0
M0(8:\D+T7%:&<:[=I?W)/O"*P\9\AK7F,P+,2&/^,W"E)5@]L3O1#57?&>(;
MB(E*Y\36&3%CC:D[&0==C$]'1WX;Y,'\)\3$M!.<V#LC9J(QK]IF]UH79ZTO
M_]K"PX03G-@X(UZJ\>9M7<M^K-UC0<YU5TM:'0Q,.<&)G3-B9AIST91M+=@]
M_RXZ"(>I)CBQ:T:X7,/=',9MD NS2W!BO8Q<A>;Z*-J=XH>]+%V=1\POP8D%
M<VR[9S;G6%NN=*=\ S$QPP0DBC&.N1,/HAE$QSX\F<9G,Y0]FT-,S#$!A62"
M\-@NCFA+7HFQ2M\.JH2=<4PR(85D F.9R_I0M4]"L ^B$5O9L]N*PWLSQ"03
M4D@F,):Y$KRSFIP0'<Q06"4P6IDO%^Q"=KV2Z\'LQLYW2D!,S"XAA5T"HY=+
MKAK=B^S8K5!LN><V(Z:6D$(M03;6Z](,M<_+LAV,_':F"D%,3#(AA62"?.SB
MKCOQ;3"HEP_&UQ 1\TU(X1M7)]P:8H>8;T(2W[@PX2 [Q'P3^AS26,/L$/--
M2.(;%R8<:$>8;R(2W[@PX5 [PGP3D?C&A9E!3$P_$8E^7)@YQ$33-!+]N# +
MB(D9*"(QT.\Q5V,4\!,3,U!$8B 79@ Q,0M%'BVT"JR@%[-0Y-%"JP!:*,(L
M%'FTT"J %HHP"T4>+;0*H(5BS$*Q1PNM FBA&+-0[-%"JP!:*,8L%)-8R-%S
MM_J;,6:AV*.%5@&498S.ZE!8R)5.VZ6)62BFL) 3TYHBPRP44UC(B0G;S1BS
M4$QA(2>FU6YB%HHI+.3$M-I-S$(QA85<,R=6%4HP"R44%G+-G-B8F(42GQ,\
M5DU/, LE%!;Z[]3$BBWUH3=#!6.N!+-00F$A%Z9]T3$+)3XF>GYB6A<=?;J
MPD).3.L9",Q""86%P,S4RVTY=D(@)F:AA,)"+DS[WL0LE%!8R(EIW9N8A1(*
M"[FF_:S23#$+I21C(<>TGXV)62@E&0LYIOUL3,Q"*<E8R(4)[\T4LU!*,A9Z
MF4];F:%;VY2RDF9GB(E9*"5)Y"#FE>@Z(5[IJB\4?%(GQ2R4DB1ROY]>6UG-
M>XH^Y>8UD8,Q;(I9*/69R(4PADTQ"Z4^$[D0QK I9J'49R(7PG8SPRR4^4SD
M0MAN9IB%,@H+.0? ,)'+, ME%!9R8L*H*\,LE%%8R(D)&Z0,LU#F,9&SYX4R
MS$*9QT3.GA?*, ME%!9RAC-634>?MJ:PD#/U@"/+#+-01F$A)R8,#C/,0AF%
MA7Y]^I;]<;Q7 6:.62BGL)#K*5QKD)%C%LHI+.1,/>!%SS$+Y3X3.2LMSC$+
MY5X3.>CT'+-0[C61@T[/,0OEQ ]A/U?Q[D](B DH]QG&62U[C@DH]QK&694<
M?>'':QAG57),0+G7, [V.@I,0(77,,["Q 14> WC8!4J, $57L,X6(4*3$ %
M21CG>%7 ZG44F( *DC#.\:J C8D)J" )XUXRP]\*J, $5)#D<([PU2Y(3$ %
M20[G"%]M3$Q !4D.YW@%P\9$WSDER>$<&;&%&<SPMTY'!4W'W;OW[S:Z C9B
M<ZV_I-/K2UZ5MXJ9C_%889R89'<[5-5<K[MIKEJ^>?X)A>>??WC_+U!+ P04
M    "  C7WI8PRL?/=8"  #'.@  &@   'AL+U]R96QS+W=O<FMB;V]K+GAM
M;"YR96QSS=N];N) &$;A6T&^@-CS/[,*J;9)N\H-6,1 %,#(]FJ3NU]$"GBM
M+;:)?"HT1OXXU2-DSSS^Z@[M]-:?QOW;>5Q]' ^G<5WMI^G\HZ['S;X[MN-#
M?^Y.EV^V_7!LI\MRV-7G=O/>[KK:-DVLA_L9U=/C_<S5R^>Y^Y^)_7;[MNE^
M]IO?Q^XT_6-P_:<?WL=]UTW5ZJ4==MVTKNJ/P^WR6%\_S,-E<K5Z?EU7P_.K
MJ>JE@ZP$V>6#G 2YY8.\!/GE@X($A>6#H@3%Y8.2!*7E@[($Y>6#B@25Y8-,
MHS(V@*09U@"MC7)M %X;!=L Q#9*M@&8;11M U#;*-L&X+91N U ;J-T&X#=
M1O$V +VMZFT!>EO5VP+TMK,_VP"]K>IM 7I;U=L"]+:JMP7H;55O"]#;JMX6
MH+=5O2U ;ZMZ6X#>3O5V +V=ZNT >CO5VP'T=K.')0"]G>KM 'H[U=L!]':J
MMP/H[51O!]#;J=X.H+=3O1U ;Z]Z>X#>7O7V +V]ZNT!>GO5VP/T]K.'W0"]
MO>KM 7I[U=L#]/:JMP?H[55O#]#;J]X>H'=0O0- [Z!Z!X#>0?4. +V#ZAT
M>@?5.P#T#K.7E0"]@^H= 'H'U3L ] ZJ=P#H'53O - [JMX1H'=4O2- [ZAZ
M1X#>4?6. +VCZAT!>D?5.P+TCK/-)@"]H^H= 7I'U3L"](ZJ=P3HG53O!- [
MJ=X)H'=2O1- [Z1Z)X#>2?5. +V3ZIT >B?5.P'T3K/-@@"]D^J= 'HGU3L!
M],ZJ=P;HG57O#- [J]X9H'=6O3- [ZQZ9X#>6?7. +VSZIT!>F?5.P/TSK/-
MW@"]L^J= 7H7U;L ]"ZJ=P'H753O M"[J-X%H'=1O0M [Z)Z%X#>1?4N +V+
MZET >A?5NP#T+K/#.@"]33,_KO.=?H_3YZ$;;T5?ZUG =VH]7>[M;K]_77Y=
MG!T1:JY U_<9X]-?4$L#!!0    ( "-?>EB%GR=*6 (  ,,X   3    6T-O
M;G1E;G1?5'EP97-=+GAM;,W;RV[;,!"%X5<QM TL621%4D6<3=MMFT5?0)7H
M6+!N$)G4>?O2R@5HD1H-7*#_QH)-<LZ( WP[7W][G)Q?'?MN\-MD'\+T(<M\
MO7=]Y=-Q<D-<V8US7X7X=;[+IJH^5'<N$YN-SNIQ"&X(ZW"JD=Q<?W*[ZKX+
MJ\_'^+-OQV&;S*[SR>KCT\93UC:IIJEKZRK$]>QA:'Y+63\GI/'DLL?OV\E?
MQ0U)]F;":>7/ <_GOCZX>6X;M[JMYO"EZN.N[-AE/CQVSJ?G2[S1X[C;M;5K
MQOJ^CT=2/\VN:OS>N=!WZ5/1J_/)(=ZP>_K,+\Y?RIP+C#MOYW'R<6*S>W_<
MRTA.I]=3+.3FT)Y_Q=?$6/KB]W.G:3>N^<OL>+T_QOFPS,-GR^/R._YUQJ_U
MW]F'@/0A(7TH2!\%I \-Z<- ^K"0/DI('_F&T@A%U)Q":DXQ-:>@FE-4S2FL
MYA17<PJL.45609%54&05%%D%159!D5509!44605%5D&155!DE119)45629%5
M4F25%%DE159)D5529)44625%5D6155%D5119%45619%54615%%D5159%D551
M9"THLA8460N*K 5%UH(B:T&1M:#(6E!D+2BR%A19-45639%54V35%%DU159-
MD5539-44635%5DV1U5!D-119#4560Y'54&0U%%D-159#D=509#4462U%5DN1
MU5)DM119+4562Y'54F2U%%DM159+D;6DR%I29"TILI8464N*K"5%UI(B:TF1
MM:3(6E)DS3?_D];OXWCXQ_'+,^VK=GC)SY;_+M[\!%!+ 0(4 Q0    ( "-?
M>E@'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A<' N
M>&UL4$L! A0#%     @ (U]Z6/AH]B7O    *P(  !$              ( !
MKP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ (U]Z6)E<G",0!@
MG"<  !,              ( !S0$  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"
M% ,4    "  C7WI8GS+[IR0(  #5,P  &               @($."   >&PO
M=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ (U]Z6)0.Z35?!@
MG!H  !@              ("!:!   'AL+W=O<FMS:&5E=',O<VAE970R+GAM
M;%!+ 0(4 Q0    ( "-?>E@5ZKZ=G (  &8'   8              " @?T6
M  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    "  C7WI8E(@=
MXET%   W%0  &               @('/&0  >&PO=V]R:W-H965T<R]S:&5E
M=#0N>&UL4$L! A0#%     @ (U]Z6'F=;:&? @  ^ 8  !@
M ("!8A\  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( "-?
M>EB8-4_"#0<  !(P   8              " @3<B  !X;"]W;W)K<VAE971S
M+W-H965T-BYX;6Q02P$"% ,4    "  C7WI8)<DFV4@'  #V(   &
M        @(%Z*0  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%
M  @ (U]Z6%1B2Q$[ @  D@8  !@              ("!^#   'AL+W=O<FMS
M:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( "-?>EC/XBI&QQ,  ' T   8
M              " @6DS  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"
M% ,4    "  C7WI8TM/-ESL#  #W!@  &0              @(%F1P  >&PO
M=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( "-?>E@J3U%2*@,
M "H(   9              " @=A*  !X;"]W;W)K<VAE971S+W-H965T,3$N
M>&UL4$L! A0#%     @ (U]Z6-9ZUR49!   %PH  !D              ("!
M.4X  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    "  C7WI8
M(,*?/@8"  "V!   &0              @(&)4@  >&PO=V]R:W-H965T<R]S
M:&5E=#$S+GAM;%!+ 0(4 Q0    ( "-?>EAWP5=S)08  %$.   9
M      " @<94  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%
M  @ (U]Z6+*[M+8Z!   A0D  !D              ("!(EL  'AL+W=O<FMS
M:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    "  C7WI8+ZH(,2((  "S%
M&0              @(&37P  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+
M 0(4 Q0    ( "-?>E@/RI+=?@(  (T%   9              " @>QG  !X
M;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ (U]Z6%PXS:">
M @  Y 4  !D              ("!H6H  'AL+W=O<FMS:&5E=',O<VAE970Q
M."YX;6Q02P$"% ,4    "  C7WI8J?A[[2D#  !)!P  &0
M@(%V;0  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( "-?
M>ECMJ6*75 ,  'H'   9              " @=9P  !X;"]W;W)K<VAE971S
M+W-H965T,C N>&UL4$L! A0#%     @ (U]Z6&22 2C* @  -@8  !D
M         ("!870  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4
M    "  C7WI89UCX1Z8$   D"P  &0              @(%B=P  >&PO=V]R
M:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( "-?>EC:8.P<=@,  ,@'
M   9              " @3]\  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL
M4$L! A0#%     @ (U]Z6+TKR]-& P  J <  !D              ("!['\
M 'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    "  C7WI8MM'*
MT8("  "Y!0  &0              @(%I@P  >&PO=V]R:W-H965T<R]S:&5E
M=#(U+GAM;%!+ 0(4 Q0    ( "-?>E@5-"R3<@(  ,P%   9
M  " @2*&  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @
M(U]Z6"+57OQ( P  R <  !D              ("!RX@  'AL+W=O<FMS:&5E
M=',O<VAE970R-RYX;6Q02P$"% ,4    "  C7WI8O93L,W0"  "I!0  &0
M            @(%*C   >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4
M Q0    ( "-?>EAB4 ;H@P(  *\%   9              " @?6.  !X;"]W
M;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ (U]Z6 7A9,\9!
M00D  !D              ("!KY$  'AL+W=O<FMS:&5E=',O<VAE970S,"YX
M;6Q02P$"% ,4    "  C7WI83ONW\3T#  !>!P  &0              @('_
ME0  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( "-?>E@4
MDF$)W (  #8&   9              " @7.9  !X;"]W;W)K<VAE971S+W-H
M965T,S(N>&UL4$L! A0#%     @ (U]Z6&7DW)V6 @  S 4  !D
M     ("!AIP  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4
M"  C7WI8EA/5B(P#  #8!P  &0              @(%3GP  >&PO=V]R:W-H
M965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( "-?>E@K1+FA?@0  ',)   9
M              " @1:C  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L!
M A0#%     @ (U]Z6.1*FV]] @  IP4  !D              ("!RZ<  'AL
M+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    "  C7WI8QP+L@'P$
M   Z"@  &0              @(%_J@  >&PO=V]R:W-H965T<R]S:&5E=#,W
M+GAM;%!+ 0(4 Q0    ( "-?>EBEWEV([ ,  .@(   9              "
M@3*O  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ (U]Z
M6)G7-?_1 @  ) 8  !D              ("!5;,  'AL+W=O<FMS:&5E=',O
M<VAE970S.2YX;6Q02P$"% ,4    "  C7WI8VQE6 D(#   *"   &0
M        @(%=M@  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0
M   ( "-?>E@OMQ%HL (  #T&   9              " @=:Y  !X;"]W;W)K
M<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ (U]Z6%WNXT+3 P  \@@
M !D              ("!O;P  'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q0
M2P$"% ,4    "  C7WI8[?R(:XT"  "X!0  &0              @(''P
M>&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( "-?>EAR&BGM
MDP(  /@%   9              " @8O#  !X;"]W;W)K<VAE971S+W-H965T
M-#0N>&UL4$L! A0#%     @ (U]Z6((P,,-< @  ;04  !D
M ("!5<8  'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    "  C
M7WI8RO$4D4\"   =!0  &0              @('HR   >&PO=V]R:W-H965T
M<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( "-?>E@J_G$N1@(  !8%   9
M          " @6[+  !X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#
M%     @ (U]Z6((^2+V; @  I@4  !D              ("!Z\T  'AL+W=O
M<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    "  C7WI8N*XT[5 "   @
M!0  &0              @(&]T   >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM
M;%!+ 0(4 Q0    ( "-?>EB83JWI/0,  ! (   9              " @433
M  !X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ (U]Z6,4E
MUU:Q @  Y@4  !D              ("!N-8  'AL+W=O<FMS:&5E=',O<VAE
M970U,2YX;6Q02P$"% ,4    "  C7WI8ZSETM8$#   /"   &0
M    @(&@V0  >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    (
M "-?>EA4_H%3Q@(  !4&   9              " @5C=  !X;"]W;W)K<VAE
M971S+W-H965T-3,N>&UL4$L! A0#%     @ (U]Z6-ZX'!QL @  ?P4  !D
M             ("!5>   'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"
M% ,4    "  C7WI8T;%O=^X"  !I!@  &0              @('XX@  >&PO
M=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( "-?>EC\NL<E:0(
M (\%   9              " @1WF  !X;"]W;W)K<VAE971S+W-H965T-38N
M>&UL4$L! A0#%     @ (U]Z6($Y8)C9 @  @@<  !D              ("!
MO>@  'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    "  C7WI8
M"(8R_ZH"   -!@  &0              @('-ZP  >&PO=V]R:W-H965T<R]S
M:&5E=#4X+GAM;%!+ 0(4 Q0    ( "-?>E@0[P!PZ (  -8&   9
M      " @:[N  !X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%
M  @ (U]Z6(B3@B]; @  304  !D              ("!S?$  'AL+W=O<FMS
M:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    "  C7WI8?H(L$HD"  "J!0
M&0              @(%?]   >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+
M 0(4 Q0    ( "-?>E@$3(5XP@(   0&   9              " @1_W  !X
M;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ (U]Z6%FI2U?8
M @  (08  !D              ("!&/H  'AL+W=O<FMS:&5E=',O<VAE970V
M,RYX;6Q02P$"% ,4    "  C7WI8X5_<F'0"  ##!0  &0
M@($G_0  >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( "-?
M>EA_B8WP\@(  ,<&   9              " @=+_  !X;"]W;W)K<VAE971S
M+W-H965T-C4N>&UL4$L! A0#%     @ (U]Z6'#AOK_A @  F08  !D
M         ("!^P(! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4
M    "  C7WI8C),29G<"  !K"   &0              @($3!@$ >&PO=V]R
M:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( "-?>EB-^$<5NP,  &L0
M   9              " @<$( 0!X;"]W;W)K<VAE971S+W-H965T-C@N>&UL
M4$L! A0#%     @ (U]Z6/.>3<R0 @  N@8  !D              ("!LPP!
M 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    "  C7WI85,Y"
MV#<"   =!0  &0              @(%Z#P$ >&PO=V]R:W-H965T<R]S:&5E
M=#<P+GAM;%!+ 0(4 Q0    ( "-?>EAZ;I-?W0(  ,H(   9
M  " @>@1 0!X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#%     @
M(U]Z6,"I)KNO @  A@<  !D              ("!_!0! 'AL+W=O<FMS:&5E
M=',O<VAE970W,BYX;6Q02P$"% ,4    "  C7WI8YHEZ!*T"   W!P  &0
M            @('B%P$ >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;%!+ 0(4
M Q0    ( "-?>EB>@X\-Y@(  ,@'   9              " @<8: 0!X;"]W
M;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @ (U]Z6-'S?@W- P
MQ0P  !D              ("!XQT! 'AL+W=O<FMS:&5E=',O<VAE970W-2YX
M;6Q02P$"% ,4    "  C7WI8H""..,$"  #'!P  &0              @('G
M(0$ >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    ( "-?>E@)
M-@G@!04  %89   9              " @=\D 0!X;"]W;W)K<VAE971S+W-H
M965T-S<N>&UL4$L! A0#%     @ (U]Z6#S+@+@3 P  7@D  !D
M     ("!&RH! 'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"% ,4
M"  C7WI8J@+1M# %  !!&@  &0              @(%E+0$ >&PO=V]R:W-H
M965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    ( "-?>E@.-#Y0_0$  -$$   9
M              " @<PR 0!X;"]W;W)K<VAE971S+W-H965T.# N>&UL4$L!
M A0#%     @ (U]Z6-$\$F.8 @  >0<  !D              ("! #4! 'AL
M+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    "  C7WI8&\?M\!<#
M  #:"0  &0              @('/-P$ >&PO=V]R:W-H965T<R]S:&5E=#@R
M+GAM;%!+ 0(4 Q0    ( "-?>EC@>PL[V0(  %H(   9              "
M@1T[ 0!X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%     @ (U]Z
M6!(?;B#) P  70T  !D              ("!+3X! 'AL+W=O<FMS:&5E=',O
M<VAE970X-"YX;6Q02P$"% ,4    "  C7WI8N9X-5NX"  "V"   &0
M        @($M0@$ >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+ 0(4 Q0
M   ( "-?>EA;?6D,G@0  * 5   9              " @5)% 0!X;"]W;W)K
M<VAE971S+W-H965T.#8N>&UL4$L! A0#%     @ (U]Z6$N*Z;P,!   V1
M !D              ("!)TH! 'AL+W=O<FMS:&5E=',O<VAE970X-RYX;6Q0
M2P$"% ,4    "  C7WI8N(<V,PP#  !T"0  &0              @(%J3@$
M>&PO=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( "-?>ECW"66$
M/ 0  "D5   9              " @:U1 0!X;"]W;W)K<VAE971S+W-H965T
M.#DN>&UL4$L! A0#%     @ (U]Z6.84#O?( @  0 @  !D
M ("!(%8! 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4    "  C
M7WI8ALBF+>@"  !F"0  &0              @($?60$ >&PO=V]R:W-H965T
M<R]S:&5E=#DQ+GAM;%!+ 0(4 Q0    ( "-?>EC$P:>7(@8  .@[   9
M          " @3Y< 0!X;"]W;W)K<VAE971S+W-H965T.3(N>&UL4$L! A0#
M%     @ (U]Z6(/]T^$L!@  T3L  !D              ("!EV(! 'AL+W=O
M<FMS:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    "  C7WI8XB$Q7IL"  "A
M!P  &0              @('Z: $ >&PO=V]R:W-H965T<R]S:&5E=#DT+GAM
M;%!+ 0(4 Q0    ( "-?>EB]%*F<?0(  *H&   9              " @<QK
M 0!X;"]W;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#%     @ (U]Z6/&0
MWR@I P  9@P  !D              ("!@&X! 'AL+W=O<FMS:&5E=',O<VAE
M970Y-BYX;6Q02P$"% ,4    "  C7WI8S%N2T,@"  !W"   &0
M    @('@<0$ >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM;%!+ 0(4 Q0    (
M "-?>EC*:LEP#P,  *L*   9              " @=]T 0!X;"]W;W)K<VAE
M971S+W-H965T.3@N>&UL4$L! A0#%     @ (U]Z6%^K^K>P @  ,P8  !D
M             ("!)7@! 'AL+W=O<FMS:&5E=',O<VAE970Y.2YX;6Q02P$"
M% ,4    "  C7WI8I$>5K%(%  #W)0  &@              @($,>P$ >&PO
M=V]R:W-H965T<R]S:&5E=#$P,"YX;6Q02P$"% ,4    "  C7WI8UN*K^D,#
M  #0%   #0              @ &6@ $ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0
M   ( "-?>EB7BKL<P    !,"   +              "  02$ 0!?<F5L<R\N
M<F5L<U!+ 0(4 Q0    ( "-?>EBMV[ LD 8  ()"   /              "
M >V$ 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  C7WI8PRL?/=8"  #'
M.@  &@              @ &JBP$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E
M;'-02P$"% ,4    "  C7WI8A9\G2E@"  ##.   $P              @ &X
LC@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     ; !L *P=  !!D0$    !

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>122
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>98</ContextCount>
  <ElementCount>304</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>20</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="utmd-20231231.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/20231231/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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-20231231.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/20231231/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-20231231.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/20231231/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-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Statement - Trading Arrangements, by Individual</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual</Role>
      <ShortName>Trading Arrangements, by Individual</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - Note 1 - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - Note 4 - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipment</Role>
      <ShortName>Note 4 - Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - Note 5 - Long-term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt</Role>
      <ShortName>Note 5 - Long-term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - Note 6 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies</Role>
      <ShortName>Note 6 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - Note 7 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxes</Role>
      <ShortName>Note 7 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - Note 8 - Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options</Role>
      <ShortName>Note 8 - Options</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - Note 9 - Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformation</Role>
      <ShortName>Note 9 - Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - Note 10 - Geographic Long-Lived Assets Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - Note 11 - Revenues By Product Category And Region</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - Note 12 - Product Sale and Purchase Commitments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments</Role>
      <ShortName>Note 12 - Product Sale and Purchase Commitments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - Note 13 - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans</Role>
      <ShortName>Note 13 - Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000220 - Disclosure - Note 14 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote14Leases</Role>
      <ShortName>Note 14 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000230 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure</Role>
      <ShortName>Note 15 - CSI Distribution Agreement Purchase Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000240 - Disclosure - Note 16 - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShare</Role>
      <ShortName>Note 16 - Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000250 - Disclosure - Note 17 - Recent Accounting Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements</Role>
      <ShortName>Note 17 - Recent Accounting Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000260 - Disclosure - Note 18 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote18SubsequentEvents</Role>
      <ShortName>Note 18 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000270 - 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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000420 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000430 - Disclosure - Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies</Role>
      <ShortName>Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000440 - 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/20231231/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>44</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000450 - 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/20231231/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>45</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000470 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>000480 - 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/20231231/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>48</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>000490 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>000500 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>000510 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables</Role>
      <ShortName>Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>000520 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables</Role>
      <ShortName>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>000530 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>000540 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>000550 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>000560 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>000570 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>000580 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>000590 - 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/20231231/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>59</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>000600 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables</Role>
      <ShortName>Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>000610 - 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/20231231/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>61</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>000620 - 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/20231231/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>62</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>000630 - 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/20231231/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>63</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>000640 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</Role>
      <ShortName>Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>000650 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables</Role>
      <ShortName>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>000660 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables</Role>
      <ShortName>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails</Role>
      <ShortName>Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote5LongTermDebtDetails</Role>
      <ShortName>Note 5 - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails</Role>
      <ShortName>Note 6 - Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote8OptionsDetails</Role>
      <ShortName>Note 8 - Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails</Role>
      <ShortName>Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails</Role>
      <ShortName>Note 12 - Product Sale and Purchase Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails</Role>
      <ShortName>Note 13 - Employee Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote14LeasesDetails</Role>
      <ShortName>Note 14 - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails</Role>
      <ShortName>Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="utmd-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>000980 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails</Role>
      <ShortName>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails</Role>
      <ShortName>Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="utmd-20231231.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/20231231/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/20231231/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>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="utmd-20231231.htm">utmd-20231231.htm</File>
    <File>utmd-20231231.xsd</File>
    <File>utmd-20231231_cal.xml</File>
    <File>utmd-20231231_def.xml</File>
    <File>utmd-20231231_lab.xml</File>
    <File>utmd-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>utmd10k_1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="748">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</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>
{
 "version": "2.2",
 "instance": {
  "utmd-20231231.htm": {
   "nsprefix": "fil",
   "nsuri": "http://www.utahmed.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "utmd-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "utmd-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "utmd-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "utmd-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "utmd-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "utmd-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 262,
   "keyCustom": 42,
   "axisStandard": 6,
   "axisCustom": 1,
   "memberStandard": 9,
   "memberCustom": 11,
   "hidden": {
    "total": 7,
    "http://fasb.org/us-gaap/2023": 3,
    "http://xbrl.sec.gov/dei/2023": 4
   },
   "contextCount": 98,
   "entityCount": 1,
   "segmentCount": 20,
   "elementCount": 361,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 748,
    "http://xbrl.sec.gov/dei/2023": 38,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation",
     "longName": "000010 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets",
     "longName": "000020 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical",
     "longName": "000030 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome",
     "longName": "000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical",
     "longName": "000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity",
     "longName": "000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "E20_StEqComps-CommonStock",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E20_StEqComps-CommonStock",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow",
     "longName": "000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual",
     "longName": "000080 - Statement - Trading Arrangements, by Individual",
     "shortName": "Trading Arrangements, by Individual",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies",
     "longName": "000090 - Disclosure - Note 1 - Summary of Significant Accounting Policies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts",
     "longName": "000100 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited",
     "longName": "000110 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipment",
     "longName": "000120 - Disclosure - Note 4 - Property and Equipment",
     "shortName": "Note 4 - Property and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt",
     "longName": "000130 - Disclosure - Note 5 - Long-term Debt",
     "shortName": "Note 5 - Long-term Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies",
     "longName": "000140 - Disclosure - Note 6 - Commitments and Contingencies",
     "shortName": "Note 6 - Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxes",
     "longName": "000150 - Disclosure - Note 7 - Income Taxes",
     "shortName": "Note 7 - Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options",
     "longName": "000160 - Disclosure - Note 8 - Options",
     "shortName": "Note 8 - Options",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformation",
     "longName": "000170 - Disclosure - Note 9 - Geographic Information",
     "shortName": "Note 9 - Geographic Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:GeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:GeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation",
     "longName": "000180 - Disclosure - Note 10 - Geographic Long-Lived Assets Information",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:GeographicLongLivedAssetsInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:GeographicLongLivedAssetsInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion",
     "longName": "000190 - Disclosure - Note 11 - Revenues By Product Category And Region",
     "shortName": "Note 11 - Revenues By Product Category And Region",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:RevenuesbyproductcategoryandregionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:RevenuesbyproductcategoryandregionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments",
     "longName": "000200 - Disclosure - Note 12 - Product Sale and Purchase Commitments",
     "shortName": "Note 12 - Product Sale and Purchase Commitments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans",
     "longName": "000210 - Disclosure - Note 13 - Employee Benefit Plans",
     "shortName": "Note 13 - Employee Benefit Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote14Leases",
     "longName": "000220 - Disclosure - Note 14 - Leases",
     "shortName": "Note 14 - Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure",
     "longName": "000230 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure",
     "shortName": "Note 15 - CSI Distribution Agreement Purchase Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShare",
     "longName": "000240 - Disclosure - Note 16 - Earnings Per Share",
     "shortName": "Note 16 - Earnings Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements",
     "longName": "000250 - Disclosure - Note 17 - Recent Accounting Pronouncements",
     "shortName": "Note 17 - Recent Accounting Pronouncements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote18SubsequentEvents",
     "longName": "000260 - Disclosure - Note 18 - Subsequent Events",
     "shortName": "Note 18 - Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies",
     "longName": "000270 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies",
     "longName": "000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies",
     "longName": "000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies",
     "longName": "000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies",
     "longName": "000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ReceivablesPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ReceivablesPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies",
     "longName": "000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InventoryPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:InventoryPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies",
     "longName": "000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies",
     "longName": "000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies",
     "longName": "000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "35",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies",
     "longName": "000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies",
     "longName": "000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:RevenueRecognitionPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:RevenueRecognitionPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies",
     "longName": "000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "38",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies",
     "longName": "000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "39",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LegalCostsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LegalCostsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies",
     "longName": "000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:EarningsPerSharePolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:EarningsPerSharePolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies",
     "longName": "000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:PresentationOfSalesAndSimilarTaxesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:PresentationOfSalesAndSimilarTaxesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies",
     "longName": "000420 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "42",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies",
     "longName": "000430 - Disclosure - Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)",
     "shortName": "Note 17 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "43",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables",
     "longName": "000440 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "44",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables",
     "longName": "000450 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables",
     "longName": "000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables",
     "longName": "000470 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables",
     "longName": "000480 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "48",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables",
     "longName": "000490 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "49",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables",
     "longName": "000500 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "50",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables",
     "longName": "000510 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)",
     "shortName": "Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "51",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables",
     "longName": "000520 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)",
     "shortName": "Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:PropertyPlantAndEquipmentByLocationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:PropertyPlantAndEquipmentByLocationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables",
     "longName": "000530 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "53",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables",
     "longName": "000540 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "54",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables",
     "longName": "000550 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "55",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables",
     "longName": "000560 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "56",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables",
     "longName": "000570 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "57",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables",
     "longName": "000580 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)",
     "shortName": "Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "58",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables",
     "longName": "000590 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "59",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables",
     "longName": "000600 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)",
     "shortName": "Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "60",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleOfGeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleOfGeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables",
     "longName": "000610 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "61",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables",
     "longName": "000620 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "62",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables",
     "longName": "000630 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "63",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables",
     "longName": "000640 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)",
     "shortName": "Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "64",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables",
     "longName": "000650 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)",
     "shortName": "Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables",
     "longName": "000660 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)",
     "shortName": "Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "66",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
     "longName": "000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "E23_Range-Minimum_PpeByType-BuildingAndBuildingImprovements",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23_Range-Minimum_PpeByType-BuildingAndBuildingImprovements",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
     "longName": "000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails",
     "longName": "000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R70": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails",
     "longName": "000700 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:LegalCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:LegalCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails",
     "longName": "000710 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R72": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails",
     "longName": "000720 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accounts and Other Receivables (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails",
     "longName": "000730 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Inventory, Current (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails",
     "longName": "000740 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "E22",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E21",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
     "longName": "000750 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Finite-Lived Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails",
     "longName": "000760 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Schedule of Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:AccruedIncomeTaxesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:AccruedIncomeTaxesCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
     "longName": "000770 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "Y23Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23Q4",
      "name": "us-gaap:GrossProfit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails",
     "longName": "000780 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)",
     "shortName": "Note 4 - Property and Equipment: Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:Land",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R79": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
     "longName": "000790 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)",
     "shortName": "Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:Land",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E23_StGeo-U.S.AndCanada",
      "name": "us-gaap:Land",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:PropertyPlantAndEquipmentByLocationTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebtDetails",
     "longName": "000800 - Disclosure - Note 5 - Long-term Debt (Details)",
     "shortName": "Note 5 - Long-term Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails",
     "longName": "000810 - Disclosure - Note 6 - Commitments and Contingencies (Details)",
     "shortName": "Note 6 - Commitments and Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:LitigationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:LitigationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "000820 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails",
     "longName": "000830 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
     "longName": "000840 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails",
     "longName": "000850 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails",
     "longName": "000860 - Disclosure - Note 8 - Options (Details)",
     "shortName": "Note 8 - Options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
     "longName": "000870 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails",
     "longName": "000880 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)",
     "shortName": "Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
     "longName": "000890 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails",
     "longName": "000900 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)",
     "shortName": "Note 9 - Geographic Information: Schedule Of Geographic Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "fil:CompanySalesInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfGeographicInformationTextBlock",
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "fil:CompanySalesInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfGeographicInformationTextBlock",
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails",
     "longName": "000910 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "fil:LongLivedAssetsInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "fil:LongLivedAssetsInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
     "longName": "000920 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "Y23Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23_StGeo-Global",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
     "longName": "000930 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "Y23Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23_StGeo-Ous",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R94": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails",
     "longName": "000940 - Disclosure - Note 12 - Product Sale and Purchase Commitments (Details)",
     "shortName": "Note 12 - Product Sale and Purchase Commitments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:RoyaltyIncomeNonoperating",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:ContractualObligation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R95": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails",
     "longName": "000950 - Disclosure - Note 13 - Employee Benefit Plans (Details)",
     "shortName": "Note 13 - Employee Benefit Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R96": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails",
     "longName": "000960 - Disclosure - Note 14 - Leases (Details)",
     "shortName": "Note 14 - Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "D231231",
      "name": "fil:LesseeOperatingLeaseForParkingLotTermOfContract",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D231231",
      "name": "fil:LesseeOperatingLeaseForParkingLotTermOfContract",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
     "longName": "000970 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)",
     "shortName": "Note 14 - Leases: Reconciliation of operating lease liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R98": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails",
     "longName": "000980 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)",
     "shortName": "Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E23",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R99": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
     "longName": "000990 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)",
     "shortName": "Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y23_DistributionRightsAcquisition-CoopersurgicalInc",
      "name": "fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "unique": true
     }
    },
    "R100": {
     "role": "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
     "longName": "001000 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "shortName": "Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "Y23Q4",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    }
   },
   "tag": {
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and Other Receivables, Net, Current",
        "totalLabel": "Accounts and Other Receivables, Net, Current",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r528"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r207",
      "r208",
      "r506"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and other receivables, net (note 2)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r208"
     ]
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Income Taxes, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r98"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses (note 2)",
        "totalLabel": "Accrued expenses (note 2)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r131",
      "r395"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossBeforeTax1",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "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."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-In Capitol",
        "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."
       }
      }
     },
     "auth_ref": [
      "r289",
      "r290",
      "r291",
      "r423",
      "r568",
      "r569",
      "r570",
      "r603",
      "r618"
     ]
    },
    "fil_AdjustmentToDeferredTaxLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "AdjustmentToDeferredTaxLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To Deferred Tax Liability",
        "negatedLabel": "Adjustment To Deferred Tax Liability",
        "documentation": "Represents the monetary amount of Adjustment To Deferred Tax Liability, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r296"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r209",
      "r215"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization {1}",
        "terseLabel": "Amortization",
        "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."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r36",
      "r40"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total assets",
        "totalLabel": "Total assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r134",
      "r156",
      "r191",
      "r197",
      "r201",
      "r210",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r326",
      "r330",
      "r346",
      "r388",
      "r450",
      "r528",
      "r540",
      "r594",
      "r595",
      "r606"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current assets",
        "totalLabel": "Total current assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r140",
      "r156",
      "r210",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r326",
      "r330",
      "r346",
      "r528",
      "r594",
      "r595",
      "r606"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r547"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r547"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r547"
     ]
    },
    "fil_BloodPressureMonitoringandAccessoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "BloodPressureMonitoringandAccessoriesMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Blood Pressure Monitoring and Accessories",
        "documentation": "Represents the Blood Pressure Monitoring and Accessories, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Building Improvements",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings and Improvements, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash {1}",
        "terseLabel": "Cash",
        "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."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r129",
      "r504"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "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."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash at beginning of year",
        "periodStartLabel": "Cash at beginning of year",
        "periodEndLabel": "Cash at end of year",
        "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."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r76",
      "r154"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net increase in cash and cash equivalents",
        "totalLabel": "Net increase in cash and cash equivalents",
        "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."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r76"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (notes 6 and 12)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r56",
      "r390",
      "r437"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r228",
      "r229",
      "r489",
      "r590"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r531",
      "r532",
      "r533",
      "r535",
      "r536",
      "r537",
      "r538",
      "r568",
      "r569",
      "r603",
      "r617",
      "r618"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "CommonStockReceivedAndRetiredUponExerciseOfStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock received and retired upon exercise of stock options",
        "documentation": "Represents the monetary amount of Common stock received and retired upon exercise of stock options, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock received and retired upon exercise of stock options, shares",
        "documentation": "Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r438"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Issued",
        "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."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r60",
      "r438",
      "r456",
      "r618",
      "r619"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $.01 par value; 50,000 shares authorized, issued 3,630 shares in 2023 and 3,628 shares in 2022",
        "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."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r391",
      "r528"
     ]
    },
    "fil_CompanySalesInEurope": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "CompanySalesInEurope",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Sales in Europe",
        "documentation": "Represents the monetary amount of Company Sales in Europe, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_CompanySalesInTheUnitedStates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "CompanySalesInTheUnitedStates",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Sales in the United States",
        "documentation": "Represents the monetary amount of Company Sales in the United States, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_CompanySalesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "CompanySalesOther",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Sales Other",
        "documentation": "Represents the monetary amount of Company Sales Other, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total comprehensive income",
        "totalLabel": "Total comprehensive income",
        "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."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r142",
      "r144",
      "r149",
      "r384",
      "r399"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of Credit Risk",
        "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."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r508"
     ]
    },
    "us-gaap_ConstructionInProgressGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_ContractualObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractualObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contractual Obligation",
        "documentation": "Amount of contractual obligation, including, but not limited to, long-term debt, lease obligation, purchase obligation, and other commitments."
       }
      }
     },
     "auth_ref": [
      "r567"
     ]
    },
    "fil_CoopersurgicalIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "CoopersurgicalIncMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CooperSurgical Inc",
        "documentation": "Represents the CooperSurgical Inc, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of goods sold",
        "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."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r377"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r311",
      "r320",
      "r566"
     ]
    },
    "fil_DeferredIncomeTaxExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "DeferredIncomeTaxExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense",
        "documentation": "Represents the monetary amount of Deferred Income Tax Expense, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r96",
      "r115",
      "r319",
      "r320",
      "r566"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes (note 7)",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r301",
      "r302",
      "r389"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r602"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r602"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r602"
     ]
    },
    "us-gaap_DeferredTaxExpenseFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxExpenseFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax benefit attributable to exercise of stock options",
        "documentation": "Amount of deferred tax expense from write-off of the deferred tax asset related to deductible stock options at exercise."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r601"
     ]
    },
    "fil_DeferredTaxLiabilitiesDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "DeferredTaxLiabilitiesDepreciationAndAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities Depreciation and Amortization",
        "negatedLabel": "Deferred Tax Liabilities Depreciation and Amortization",
        "documentation": "Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liability - intangible assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r602"
     ]
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r41"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8Options"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Options",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r268",
      "r285",
      "r286",
      "r288",
      "r523"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "auth_ref": []
    },
    "fil_DistributionRightsAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "DistributionRightsAcquisitionAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution Rights Acquisition [Axis]",
        "documentation": "Represents the description of Distribution Rights Acquisition, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_DistributionRightsAcquisitionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "DistributionRightsAcquisitionDomain",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution Rights Acquisition",
        "documentation": "Represents the Distribution Rights Acquisition, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsCommonStockCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DividendsCommonStockCash",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock dividends",
        "negatedLabel": "Common stock dividends",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r547"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r547",
      "r549"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r548"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "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'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r543"
     ]
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per common share (basic) (note 1)",
        "verboseLabel": "Earnings per share, basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r179",
      "r181",
      "r182",
      "r183",
      "r184",
      "r188",
      "r341",
      "r342",
      "r385",
      "r400",
      "r511"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per common share (diluted) (note 1)",
        "verboseLabel": "Earnings Per Share Diluted",
        "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."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r168",
      "r169",
      "r170",
      "r171",
      "r172",
      "r181",
      "r182",
      "r183",
      "r184",
      "r188",
      "r341",
      "r342",
      "r385",
      "r400",
      "r511"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share",
        "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."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r30"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 16 - Earnings Per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r185",
      "r186",
      "r187"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash",
        "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."
       }
      }
     },
     "auth_ref": [
      "r352"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee-related Liabilities, Current",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years",
        "documentation": "Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition",
        "documentation": "Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r287"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Exercise of Option, Tax Benefit",
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "fil_EnglandAndAustraliaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "EnglandAndAustraliaMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "England and Australia",
        "documentation": "Represents the England and Australia, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ex Transition Period",
        "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."
       }
      }
     },
     "auth_ref": [
      "r554"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "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."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r552"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r542"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-Known Seasoned Issuer",
        "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."
       }
      }
     },
     "auth_ref": [
      "r553"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r122",
      "r146",
      "r147",
      "r148",
      "r159",
      "r160",
      "r161",
      "r165",
      "r173",
      "r175",
      "r190",
      "r211",
      "r214",
      "r249",
      "r289",
      "r290",
      "r291",
      "r312",
      "r313",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r338",
      "r340",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r359",
      "r370",
      "r409",
      "r410",
      "r411",
      "r423",
      "r475"
     ]
    },
    "us-gaap_FiniteLivedCustomerRelationshipsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedCustomerRelationshipsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Customer Relationships, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets - accumulated amortization",
        "negatedLabel": "Other intangible assets - accumulated amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r227"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets (note 2)",
        "totalLabel": "Other intangible assets (note 2)",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r382"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r378"
     ]
    },
    "us-gaap_FiniteLivedNoncompeteAgreementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedNoncompeteAgreementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Noncompete Agreements, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedPatentsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Patents, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "FiniteLivedRegulatoryApprovalsAndProductCertificationsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Regulatory approvals &amp; product certifications",
        "documentation": "Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedTrademarksGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedTrademarksGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Trademarks, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets Acquired",
        "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition."
       }
      }
     },
     "auth_ref": [
      "r226"
     ]
    },
    "fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ForeignCurrencyExchangeRateTranslationAUDtoUSD",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Exchange Rate Translation AUD to USD",
        "documentation": "Represents the pure numeric value of Foreign Currency Exchange Rate Translation AUD to USD, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ForeignCurrencyExchangeRateTranslationGBPtoUSD",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Exchange Rate Translation GBP to USD",
        "documentation": "Represents the pure numeric value of Foreign Currency Exchange Rate Translation GBP to USD, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Translation of Foreign Currencies",
        "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."
       }
      }
     },
     "auth_ref": [
      "r350"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and administrative",
        "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."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r460"
     ]
    },
    "fil_GeographicInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "GeographicInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Geographic Information",
        "documentation": "Represents the textual narrative disclosure of Note 9 - Geographic Information, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_GeographicLongLivedAssetsInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "GeographicLongLivedAssetsInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Geographic Long-Lived Assets Information",
        "documentation": "Represents the textual narrative disclosure of Note 10 - Geographic Long-Lived Assets Information, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_GlobalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "GlobalMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Global",
        "documentation": "Represents the Global, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "periodStartLabel": "Balance as of January 1",
        "periodEndLabel": "Total Goodwill as of December 31",
        "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."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r220",
      "r383",
      "r515",
      "r528",
      "r579",
      "r586"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r34"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of foreign exchange",
        "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."
       }
      }
     },
     "auth_ref": [
      "r223"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subtractions as a result of impairment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r221",
      "r222",
      "r224",
      "r515"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "totalLabel": "Gross profit",
        "verboseLabel": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r156",
      "r191",
      "r196",
      "r200",
      "r202",
      "r210",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r346",
      "r513",
      "r594"
     ]
    },
    "fil_GynecologyElectrosurgeryUrologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "GynecologyElectrosurgeryUrologyMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gynecology/Electrosurgery/Urology",
        "documentation": "Represents the Gynecology/Electrosurgery/Urology, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "country_IE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IE",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "IRELAND"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r547"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived Assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r88"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r321"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income before provision for income taxes",
        "totalLabel": "Income before provision for income taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r69",
      "r101",
      "r191",
      "r196",
      "r200",
      "r202",
      "r386",
      "r397",
      "r513"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "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."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r321"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME",
        "verboseLabel": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF INCOME - Parenthetical"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Income Taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r298",
      "r305",
      "r306",
      "r309",
      "r317",
      "r322",
      "r323",
      "r324",
      "r420"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for income taxes (note 7)",
        "totalLabel": "Provision for income taxes (note 7)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r118",
      "r174",
      "r175",
      "r194",
      "r303",
      "r318",
      "r401"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r299",
      "r300",
      "r306",
      "r307",
      "r308",
      "r310",
      "r418"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r600"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "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."
       }
      }
     },
     "auth_ref": [
      "r304"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount",
        "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."
       }
      }
     },
     "auth_ref": [
      "r600"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r600"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationTaxCreditsResearch",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "negatedLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "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."
       }
      }
     },
     "auth_ref": [
      "r600"
     ]
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid during the year for income taxes",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r27"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable {1}",
        "terseLabel": "Accounts payable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "negatedLabel": "Accounts receivable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "negatedLabel": "Inventories",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other receivables",
        "negatedLabel": "Other receivables",
        "documentation": "Amount of increase (decrease) in receivables classified as other."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets {1}",
        "negatedLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - CSI Distribution Agreement Purchase Disclosure",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r225"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets, net (note 2)",
        "totalLabel": "Other intangible assets, net (note 2)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r38"
     ]
    },
    "us-gaap_InterestIncomeSecuritiesTaxExempt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeSecuritiesTaxExempt",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income, Securities, Operating, Tax Exempt",
        "negatedLabel": "Interest Income, Securities, Operating, Tax Exempt",
        "documentation": "Amount of operating interest income, including amortization and accretion of premiums and discounts, on securities exempt from state, federal and other income tax."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r120",
      "r121"
     ]
    },
    "us-gaap_InterestPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid during the year for interest",
        "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."
       }
      }
     },
     "auth_ref": [
      "r564"
     ]
    },
    "us-gaap_InterestReceivableAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestReceivableAndOtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails": {
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Receivable and Other Assets",
        "documentation": "Amount of interest receivable and assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Net of Reserves",
        "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."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r507"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories (note 2)",
        "totalLabel": "Inventories (note 2)",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r505",
      "r528"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories {1}",
        "terseLabel": "Inventories",
        "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."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r128",
      "r137",
      "r217",
      "r218",
      "r219",
      "r376",
      "r509"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Gross",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r561"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r560"
     ]
    },
    "us-gaap_Land": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Land",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land",
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale."
       }
      }
     },
     "auth_ref": [
      "r559"
     ]
    },
    "us-gaap_LegalCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LegalCostsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Costs",
        "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."
       }
      }
     },
     "auth_ref": [
      "r234"
     ]
    },
    "fil_LesseeOperatingLeaseForAutomobileTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LesseeOperatingLeaseForAutomobileTermOfContract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating Lease for Automobile Term of Contract",
        "documentation": "Represents the Lessee Operating Lease for Automobile Term of Contract, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LesseeOperatingLeaseForParkingLotTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LesseeOperatingLeaseForParkingLotTermOfContract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating Lease for Parking Lot Term of Contract",
        "documentation": "Represents the Lessee Operating Lease for Parking Lot Term of Contract, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity",
        "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."
       }
      }
     },
     "auth_ref": [
      "r605"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r369"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Leases",
        "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."
       }
      }
     },
     "auth_ref": [
      "r362"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total liabilities",
        "totalLabel": "Total liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r156",
      "r210",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r327",
      "r330",
      "r331",
      "r346",
      "r436",
      "r512",
      "r540",
      "r594",
      "r606",
      "r607"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total liabilities and stockholders' equity",
        "totalLabel": "Total liabilities and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r100",
      "r393",
      "r528",
      "r565",
      "r577",
      "r604"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r127",
      "r156",
      "r210",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r327",
      "r330",
      "r331",
      "r346",
      "r528",
      "r594",
      "r606",
      "r607"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "fil_LitigationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LitigationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Expense",
        "documentation": "Represents the monetary amount of Litigation Expense, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LitigationReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LitigationReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability",
        "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."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r591"
     ]
    },
    "us-gaap_LitigationReserveCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LitigationReserveCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r591"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInAustralia": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LongLivedAssetsInAustralia",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in Australia",
        "documentation": "Represents the monetary amount of Long-lived assets in Australia, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInCanada": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LongLivedAssetsInCanada",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in Canada",
        "documentation": "Represents the monetary amount of Long-lived assets in Canada, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInEngland": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LongLivedAssetsInEngland",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in England",
        "documentation": "Represents the monetary amount of Long-lived assets in England, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInIreland": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LongLivedAssetsInIreland",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in Ireland",
        "documentation": "Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInTheUnitedStates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "LongLivedAssetsInTheUnitedStates",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in the United States",
        "documentation": "Represents the monetary amount of Long-lived assets in the United States, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r99",
      "r247",
      "r248",
      "r516",
      "r517",
      "r615"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote5LongTermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Long-term Debt",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r265",
      "r375",
      "r408",
      "r428",
      "r429",
      "r478",
      "r480",
      "r482",
      "r483",
      "r485",
      "r499",
      "r500",
      "r514",
      "r518",
      "r522",
      "r530",
      "r596",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r265",
      "r375",
      "r408",
      "r428",
      "r429",
      "r478",
      "r480",
      "r482",
      "r483",
      "r485",
      "r499",
      "r500",
      "r514",
      "r518",
      "r522",
      "r530",
      "r596",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "fil_NeonatalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "NeonatalMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Neonatal",
        "documentation": "Represents the Neonatal, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash (used in) financing activities",
        "totalLabel": "Net cash (used in) financing activities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash (used in) investing activities",
        "totalLabel": "Net cash (used in) investing activities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash provided by operating activities",
        "totalLabel": "Net cash provided by operating activities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r78"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Recent Accounting Pronouncements",
        "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."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r117",
      "r119",
      "r124",
      "r162",
      "r163",
      "r166",
      "r167",
      "r176",
      "r177",
      "r212",
      "r213",
      "r314",
      "r315",
      "r316",
      "r337",
      "r339",
      "r343",
      "r344",
      "r345",
      "r347",
      "r348",
      "r349",
      "r360",
      "r361",
      "r371",
      "r379",
      "r380",
      "r381",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote17RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "fil_ObstetricsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ObstetricsMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Obstetrics",
        "documentation": "Represents the Obstetrics, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating income",
        "totalLabel": "Operating income",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r196",
      "r200",
      "r202",
      "r513"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "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."
       }
      }
     },
     "auth_ref": [
      "r366",
      "r527"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r364"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r364"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current, Statement of Financial Position",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r365"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term lease liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r364"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r363"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of operating lease assets",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r563"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset, Statement of Financial Position",
        "documentation": "Indicates line item in statement of financial position that includes operating lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r365"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r527"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "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."
       }
      }
     },
     "auth_ref": [
      "r367",
      "r527"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r139",
      "r528"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency translation net of taxes of $0 in all periods",
        "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."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncomeParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax",
        "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."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r4",
      "r351",
      "r358"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income (loss)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherFiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherFiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before accumulated amortization of finite-lived intangible assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_OtherInterestAndDividendIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherInterestAndDividendIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend and interest income",
        "documentation": "Amount, after discount, accretion and premium amortization, of interest income and dividend income classified as other."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "fil_OusMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "OusMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OUS",
        "documentation": "Represents the OUS, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock purchased and retired {1}",
        "negatedLabel": "Common stock purchased and retired",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends paid",
        "negatedLabel": "Dividends paid",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets",
        "negatedLabel": "Intangible assets",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment",
        "negatedLabel": "Property and equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote13EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Employee Benefit Plans",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r521"
     ]
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PolicyTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "auth_ref": []
    },
    "fil_PresentationOfSalesAndSimilarTaxesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PresentationOfSalesAndSimilarTaxesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Presentation of Sales and Similar Taxes",
        "documentation": "Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_PriceRangePerShareExercised": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PriceRangePerShareExercised",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Price Range Per Share Exercised",
        "documentation": "Represents the description of Price Range Per Share Exercised, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_PriceRangePerShareExpired": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PriceRangePerShareExpired",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Price Range Per Share Expired",
        "documentation": "Represents the description of Price Range Per Share Expired, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_PriceRangePerShareGranted": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PriceRangePerShareGranted",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Price Range Per Share Granted",
        "documentation": "Represents the description of Price Range Per Share Granted, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_PriceRangePerShareOutstanding": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PriceRangePerShareOutstanding",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Price Range Per Share Outstanding",
        "documentation": "Represents the description of Price Range Per Share Outstanding, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_PriceRangePerShareTotalExercisable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PriceRangePerShareTotalExercisable",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Price Range Per Share Total Exercisable",
        "documentation": "Represents the description of Price Range Per Share Total Exercisable, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock - options",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r203",
      "r377",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r502",
      "r519",
      "r529",
      "r557",
      "r592",
      "r593",
      "r597",
      "r616"
     ]
    },
    "fil_ProductSaleAndPurchaseCommitmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ProductSaleAndPurchaseCommitmentsTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Product Sale and Purchase Commitments",
        "documentation": "Represents the textual narrative disclosure of Note 12 - Product Sale and Purchase Commitments, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard and Extended Product Warranty Accrual",
        "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."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r235",
      "r236",
      "r237"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service"
       }
      }
     },
     "auth_ref": [
      "r203",
      "r377",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r502",
      "r519",
      "r529",
      "r557",
      "r592",
      "r593",
      "r597",
      "r616"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net Income",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r141",
      "r143",
      "r152",
      "r156",
      "r164",
      "r174",
      "r175",
      "r191",
      "r196",
      "r200",
      "r202",
      "r210",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r325",
      "r328",
      "r329",
      "r342",
      "r346",
      "r386",
      "r398",
      "r422",
      "r458",
      "r473",
      "r474",
      "r513",
      "r525",
      "r526",
      "r539",
      "r562",
      "r594"
     ]
    },
    "fil_PropertyPlantAndEquipmentByLocationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "PropertyPlantAndEquipmentByLocationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property Plant and Equipment by Location",
        "documentation": "Represents the textual narrative disclosure of Property Plant and Equipment by Location, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Property and Equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r109",
      "r113",
      "r114"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Gross",
        "totalLabel": "Property, Plant and Equipment, Gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r130",
      "r396"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net (notes 4 and 10)",
        "totalLabel": "Property and equipment, net (notes 4 and 10)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r387",
      "r396",
      "r528"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and Equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r109",
      "r113",
      "r394"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset",
        "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."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for losses on accounts receivable",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r216"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Quarterly Results of Operations (Unaudited)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r189"
     ]
    },
    "fil_Range1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "Range1Member",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range 1",
        "documentation": "Represents the Range 1, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_Range2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "Range2Member",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range 2",
        "documentation": "Represents the Range 2, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r253",
      "r265",
      "r280",
      "r281",
      "r282",
      "r374",
      "r375",
      "r408",
      "r428",
      "r429",
      "r478",
      "r480",
      "r482",
      "r483",
      "r485",
      "r499",
      "r500",
      "r514",
      "r518",
      "r522",
      "r530",
      "r533",
      "r589",
      "r596",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement"
       }
      }
     },
     "auth_ref": [
      "r230",
      "r231",
      "r232",
      "r233",
      "r253",
      "r265",
      "r280",
      "r281",
      "r282",
      "r374",
      "r375",
      "r408",
      "r428",
      "r429",
      "r478",
      "r480",
      "r482",
      "r483",
      "r485",
      "r499",
      "r500",
      "r514",
      "r518",
      "r522",
      "r530",
      "r533",
      "r589",
      "r596",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable."
       }
      }
     },
     "auth_ref": [
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of operating lease liabilities",
        "documentation": "Reconciliation of operating lease liabilities/ payments to operating lease liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System",
        "documentation": "Represents the Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development",
        "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."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r297",
      "r614"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r91",
      "r392",
      "r412",
      "r416",
      "r419",
      "r439",
      "r528"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r159",
      "r160",
      "r161",
      "r165",
      "r173",
      "r175",
      "r211",
      "r214",
      "r289",
      "r290",
      "r291",
      "r312",
      "r313",
      "r332",
      "r334",
      "r335",
      "r338",
      "r340",
      "r409",
      "r411",
      "r423",
      "r618"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales, net (notes 1, 3, 9 and 11)",
        "verboseLabel": "Net Sales",
        "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."
       }
      }
     },
     "auth_ref": [
      "r192",
      "r193",
      "r195",
      "r198",
      "r199",
      "r203",
      "r204",
      "r206",
      "r250",
      "r251",
      "r377"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r501",
      "r510"
     ]
    },
    "fil_RevenuesbyproductcategoryandregionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "RevenuesbyproductcategoryandregionTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Revenues By Product Category And Region",
        "documentation": "Represents the textual narrative disclosure of Revenues By Product Category And Region, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RoyaltyIncomeNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RoyaltyIncomeNonoperating",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Royalty income (note 12)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario"
       }
      }
     },
     "auth_ref": [
      "r176",
      "r266",
      "r555",
      "r571"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccountsAndOtherReceivablesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts and Other Receivables",
        "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."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfAccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accrued Expenses",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted",
        "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."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfFiniteLivedIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r39"
     ]
    },
    "fil_ScheduleOfGeographicInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ScheduleOfGeographicInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Geographic Information",
        "documentation": "Represents the textual narrative disclosure of Schedule Of Geographic Information, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r515",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r566"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsScheduleOfInventoryCurrentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r66",
      "r67",
      "r68"
     ]
    },
    "fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Long-Lived Assets By Geographic Area",
        "documentation": "Represents the textual narrative disclosure of Schedule Of Long-Lived Assets By Geographic Area, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information",
        "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."
       }
      }
     },
     "auth_ref": [
      "r106"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range",
        "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."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Stock Options, Activity",
        "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."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r12",
      "r44"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions",
        "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."
       }
      }
     },
     "auth_ref": [
      "r92"
     ]
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Weighted Average Number of Shares",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ScheduleofglobalrevenuesbyproductcategoryTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Global Revenues By Product Category",
        "documentation": "Represents the textual narrative disclosure of Schedule Of Global Revenues By Product Category, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_ScheduleofousrevenuesbyproductcategoryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "ScheduleofousrevenuesbyproductcategoryTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of OUS Revenues By Product Category",
        "documentation": "Represents the textual narrative disclosure of Schedule Of OUS Revenues By Product Category, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r541"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r544"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Geographical"
       }
      }
     },
     "auth_ref": [
      "r204",
      "r205",
      "r425",
      "r426",
      "r427",
      "r479",
      "r481",
      "r484",
      "r486",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r503",
      "r520",
      "r533",
      "r597",
      "r616"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales and marketing",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r281"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "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."
       }
      }
     },
     "auth_ref": [
      "r280"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r282"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r524"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "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."
       }
      }
     },
     "auth_ref": [
      "r272"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "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."
       }
      }
     },
     "auth_ref": [
      "r276"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period",
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements."
       }
      }
     },
     "auth_ref": [
      "r274"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r598"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r275"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r271"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r269",
      "r277",
      "r278",
      "r279",
      "r280",
      "r283",
      "r292",
      "r293",
      "r294",
      "r295"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit",
        "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."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding",
        "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."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit",
        "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."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "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."
       }
      }
     },
     "auth_ref": [
      "r279"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price",
        "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."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Balance, shares",
        "periodStartLabel": "Equity Balance, shares",
        "periodEndLabel": "Equity Balance, shares",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 1 - Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r155"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r20",
      "r122",
      "r146",
      "r147",
      "r148",
      "r159",
      "r160",
      "r161",
      "r165",
      "r173",
      "r175",
      "r190",
      "r211",
      "r214",
      "r249",
      "r289",
      "r290",
      "r291",
      "r312",
      "r313",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r338",
      "r340",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r359",
      "r370",
      "r409",
      "r410",
      "r411",
      "r423",
      "r475"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r204",
      "r205",
      "r425",
      "r426",
      "r427",
      "r479",
      "r481",
      "r484",
      "r486",
      "r488",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r503",
      "r520",
      "r533",
      "r597",
      "r616"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r160",
      "r161",
      "r190",
      "r377",
      "r417",
      "r424",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r438",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r457",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r475",
      "r534"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
        "verboseLabel": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "auth_ref": [
      "r176",
      "r266",
      "r555",
      "r556",
      "r571"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement",
        "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."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r160",
      "r161",
      "r190",
      "r377",
      "r417",
      "r424",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r438",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r457",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r475",
      "r534"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued upon exercise of employee stock options, shares",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r59",
      "r60",
      "r91",
      "r273"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued upon exercise of employee stock options",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r20",
      "r91"
     ]
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option compensation expense",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock purchased and retired, shares",
        "documentation": "Number of shares that have been repurchased and retired during the period."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r59",
      "r60",
      "r91"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock purchased and retired",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r59",
      "r60",
      "r91"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total stockholders' equity",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r63",
      "r64",
      "r82",
      "r440",
      "r456",
      "r476",
      "r477",
      "r528",
      "r540",
      "r565",
      "r577",
      "r604",
      "r618"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Balance, value",
        "periodStartLabel": "Equity Balance, value",
        "periodEndLabel": "Equity Balance, value",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r52",
      "r54",
      "r122",
      "r123",
      "r147",
      "r159",
      "r160",
      "r161",
      "r165",
      "r173",
      "r211",
      "r214",
      "r249",
      "r289",
      "r290",
      "r291",
      "r312",
      "r313",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r338",
      "r340",
      "r353",
      "r354",
      "r359",
      "r370",
      "r410",
      "r411",
      "r421",
      "r440",
      "r456",
      "r476",
      "r477",
      "r487",
      "r539",
      "r565",
      "r577",
      "r604",
      "r618"
     ]
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote18SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 18 - Subsequent Events",
        "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."
       }
      }
     },
     "auth_ref": [
      "r372",
      "r373"
     ]
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Detail of Certain Balance Sheet Accounts",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r558"
     ]
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TableTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term income tax payable (REPAT tax) (note 7)",
        "verboseLabel": "Long term income tax payable (REPAT tax) (note 7)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r599"
     ]
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r551"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "fil_U.S.AndCanadaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "U.S.AndCanadaMember",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "U.S. and Canada",
        "documentation": "Represents the U.S. and Canada, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates in The Preparation of Financial Statements",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32",
      "r33",
      "r107",
      "r108",
      "r110",
      "r111"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "verboseLabel": "Dilutive effect of stock options",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted shares",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Diluted",
        "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."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r184"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "verboseLabel": "Weighted average shares, basic",
        "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."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r184"
     ]
    },
    "fil_WeightedAverageRemainingContractualLifeYears": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://www.utahmed.com/20231231",
     "localname": "WeightedAverageRemainingContractualLifeYears",
     "presentation": [
      "http://www.utahmed.com/20231231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Remaining Contractual Life (Years)",
        "documentation": "Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date."
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//270/tableOfContent"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "SubTopic": "20",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "SubTopic": "20",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//250/tableOfContent"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1B"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-2"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-5"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-21"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3"
  },
  "r557": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r558": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r559": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r564": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r565": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r568": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r569": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r570": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r571": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r572": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r574": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-2"
  },
  "r576": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-4"
  },
  "r577": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r578": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r588": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r589": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r590": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r591": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r593": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r595": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r596": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r597": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r598": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r599": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r600": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r601": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r602": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r603": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r605": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r606": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r607": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r608": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r609": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r610": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r611": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r612": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r613": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r614": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r617": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r618": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r619": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>125
<FILENAME>0001811884-24-000009-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001811884-24-000009-xbrl.zip
M4$L#!!0    ( "5?>EC][?#L"[ ! +"_#P 1    =71M9"TR,#(S,3(S,2YH
M=&WLO7M7VUC6)_S_? J]Z>ZG88U-L($D)-691<!)\52X-(:JKIKUKF<=2\>V
M*K+DT@7B^O2S;^<BV01( C@ISS-= 2Q+1^?L^_[MO7_X/Q\G27"I\R+.TG_]
ML[.Q^<] IV$6Q>GH7__<Z^\?'O[S_[S^7S^,2[@,+DV+?ST9E^7TY=.G5U=7
M&U=;&UD^>MK9W=U]^A&O><(7O?PXR).X=BG^A2[N;FYN/8W3HE1IJ,WUD797
MTY6%#C=&V>53^ "^T=VR%Y9YNYQ-=;'XYO#Q4_P8O]-M;VZUMSKFFU71'BDU
MM=\;JF) WY$/:H\I\G+^0OAC[:(PJ](RGRU>N'Q8^X(.H\47PP>U"X=Q4GN_
MJE3CB8XVPFQ"UW6Z[KWNLLWX:=38:;GXV5/^T-ZVR+:[G>>?NCE?8;_P\;IK
M.[B0)$[U?]Z<O7>7EXNO=Y<^+7.5%L,LGZ@2R!/??+.]V6UWNMY-VK"'M1N9
M/?W4?3H[[<T7/FV4^;4ONOL4/C47PBT_?&)+\..!*MQ^SUU?XQC\U%Y:Q(LN
MA-MVGO[GZ'T_'.N):ML#19[4*H)__K]V.SC-LZ@*=10,9D'OX-W>65'%I0Z*
M;%A>J5RW@KWH$K\6!?O99%J5.@\.TS2[I/TH6O!+N-&"SZ:S/!Z-RV!M?SV
M)[]H([$%__?T]#\_[1X?O-_Z[]]^^?G@[+?=__[MU_]_(\!EZFBD<GH:$F?0
M;L.*RKA,].N+\[T?@Z/>P>'^WOO@].SDX&+_O!\<'N\'[> MG$70V6S_%/1[
M^P%0.XB;'Y[R]_[7#Q-=JB#,TE*G0".E_E@^1=GR*@C'\"Q=_NOB_&W[Q9,
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
MJF"<Z^&_GOQ-=9Z8^R-9M2,=9K!EP!TOTRR%PSA7@T0'V3#81\)+2]@>!0R
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
M<G=<[C.SW(=/3'UM&DBS$O[R1Q4C]P/3#S%#F5/FNU@L#;8PMLSI9B<3'H4
M?LZ2*BU53MG/O+CAX)__90_^:JPI8] X_;7.>C &+L<CCP*5)/;<?8(8:+D
M[OD)&O#D@;$ZD"[P8X0<!%&%Y2QTZ337H2;CO=,-".52!&MPOR'\KZC >B[&
M&2;_##"@'*NRN?8K5<R3+7U9WF$=!%@:!6M=?L>!UG# U>!W> .\GBZ%+^$J
MY#X(_BAH$;1(593![F80J5FQ<1>B%,@/@T?0RBQ56=U$FR^>O/Z5 +I?A3AK
MRSW./I<5OP<:Q[.'8Y_$90F$HKGE0HI@^&06Z$N=SX)#5/$JI/CO@2H5@S0:
M+.#NX<M$7RF>Z5&5<&:KWSX/UG 3GK_J;G4WK-:,*:\]Q;SV??,#K]>2N2[6
M[T3$WI[@E@A-WT#$NRLBKEN/OU=%&0]G]T'79+TE<"L=J# $NLX5$B<>-9IN
MZ<*_@K)/VPL_*"; $/"4W$@M..D);-^LA8(>;@?2$9<]"D9Y=E6.S<<;(/<U
MK8U,1<)S47(%0\S=S5?7K9 ^[KPRE]UXP?7K,Q>BL)>+KUFKN=(8LYWNH-TU
MZLO760U.^2H4L'2@E">OWR\^F\]EM'L#&#QYO7</:[POY,:-\!2R5??A7499
M/KM%OI=+L.BU0_E6(^O[?!,MVP6<W13%P=VE\#V>:O\ZGK[5,F_89;KYFZH
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
MO[046/'\MY+9[G1OE=I>Y;97N>WOF)WN4X5NW4:%[CPV?]VO"KUI#XX8<(]
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
MXF^]Z!+K_+W3>KZS&:P-]) %[I"E'-H&9 [\?:O;63</Z,=H>'1V=[LMGT*
M@5-8X]\[W1?!) 9'BI>&S\;ED_= X0GT-*31-].S<C(!SN?OL"CO^V#0C($.
MP#)%Q[1%IB8:H/PZA0,56SMB&8ZQL[GQXH8(1_"^C#9@ U A 2^UP9-#:6K\
M\AF[*$XZLA45DLR%?;%RPZ,/.M/='=RC@4:$=4!]E>LJ "19$(*L 26!>W9(
MWWDN1^FX:A]4]F0 TDC6;0(R^T>'*(9$SH!J9TN+@P2P@ (D?8A4%J>_<TDU
M\'02D:E>,^&=8W^IPJJ:M.%38'=X=#: ?X#OF5O%#BMF\,>)/61>]@M9-@<4
M=%2W]D30!>AD(/F]TT68P6N46)K&U-9B=6*V'"YZH_(($6NH(_K\3*YMVSC;
MH ]E(^PR0$YM-Y>Q-T &Y2M;$F]! X.=(G (T*4&9P?D&F[ 0(/Y4[MEIS-W
M(!*\(2.?V^L3.W%O7#TA@_9'WFFBK6!-_KINOE;70\Q[S5B09[*;FSK%= HV
M'=Z9Y) +!5@IC8>=F1Z\2(56/3(=@EYKV@2D9]!N-!+ ?QWV2#&4)B<Y]S2)
M>:"  &HFO\R&,,!+ BL1?K."BU8LFS&UX3%277E\J= !6O YF:4LQBJ)77$T
MHN"X*GC!X/JTB"/ P8$_;+_X!]ZFQG; $Q0S)_Y%I<,;Z)TZXJ3QZ)_)T0M3
M+Q8>;%_P.4<#9;>,_[[^V4=$WT?3;]$Y,6D^;]B4%S_Y+#30(R4WME$2)#*K
M=CV+:?X9*$'8,J*G:97#E?#,W46,CL'!F&**23S4'N'8I8$GD53D[Y$55]L%
MVRF.5"#>[VV<%.,8]B")I\+[?/C[&6Y9OP+YCLNM\[\<6W>SL2U([-Z^ %^9
MZEB@F.#XM_J' 658&OMV^ST[_JTF/KH@/J)*X_5OSGK_.3QO74-&2#].F<CA
MN6WRXJBW/3?\"01=987.3\NDEQ>%P.RYH ,?_5&!DT^E3,!-1M^"B?E\<WLK
MZ(.//@ZVP#+]!3RL5G 41Y? 8[*[+[8WMY\'%_T]%^G7WMW9>0]*G>CI&#6D
MA,G ?]GL!&LO-COKP<ZS9^T.:!1[FG(PEF7GUK57CA.\V1OKV,#EYQAFRY)L
M- M.0<VVS%4M(&6PN&>T_(E6Y=@Z(/Z:S5,7+75K9RM8V]U<#YYM/V]O[6YU
MK=U9]W*N7_%6%_NN3% 9_J)P.DPV*33\^Z.:3('_X.+^R4XGV#WX=ZNALOPU
M@M1I+FU[.UCK/-_=AFWL[@0=MXM.@UV_*GQ2T &3=B=XEZ@([".X]UFF0-_O
M@W.1@'(%H[05'/=_";J=G6W/8?.7Y1[57-VS3C?8W=S>";8[8!T&1H)?OZ)G
M6SL[P4\:]%LTHY4$?^OL(,VAG52H:@3NY<EQ\'[G/.B^WVG)#5F;RLT7T=GN
MYLYZ\'QWIPW+Z-8\G\_./']I8_SFXU=P@B6 $WP^Q.=&M,#IV<G!Q?YY_^L
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
M+5TJW+1B;+N3!W,2@$)U5*I+JV!O(D-K35'D&%[OFLP6)ANXVMB[W8%.$-3
M "[<%6L06__'[\>Q](3^KM??/V$ROV<*_TIES^:P:.$MH'Y0%>AE,_:8-!01
M_R#.R*<J"1GJ8A@.M3:2$@=3JQE10)%UH==2#&_+APW$8/2SE([[359,7S92
M.S$V<#'633)KQR!I!VH0ZR^/]=YSO!_#O-)(R>:;\1V052P(&]0@>HSNBK6+
MG_>+=6XN8OL762.*6JI8ZY*8D3B%$TF"FV7[$B6*'W@?9L9>DN"[A^UC36ZE
MIK^\ E0/-Y.3"SEZ!.M6B#=33?4OID(SJEU,"$0 EA*M#RQ.DDF@ML,*4U;>
M\;<DX!)C$M[T,'#6";]PEH]46OB2S$OJ8[0&S8RYW::JSEEMM_=PMZ_&-C-)
M9;BI?8_&=V/.TT^T(CW24"NP+R8I.M&E&F38G<)' _".\[<P/08&NE_\+9M
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
MT\3>@N=?VRM);HDX= DN>7??KG<&!L=G1;M):[#".B02KC2C8.W70.'S"C@
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
M+$7 J&!$BC#7U$W3QUS%"UX9(\33K.#J@PR[#A5F)*MMSZ;,1Z@I%4XLI8(
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
MW&&'B 8N**<Y]LG(#>+VZ".P8CY23@4'PLTOWA,Q4*Q#*2>Q53LFUL7EDC*
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
ME%*8"@XB7[!?;D)^YQ1-QU*7TFLLZ[F#[LL'3#=^K/NM22;XKR1>#%&Q#BT
MHNWL-((2($CQ=.20F7-KN[#_>>4/!(%?0L-#%7 S&)Z-:"ZUT 1<]V-7#N%"
MP;P(Q:L<\$H,EZ@$E]/T8AQRK6W"D0^T#[D"R,%(P+L 5O4\85RY:GY>C-P9
M8&NA1\2_%9A7)\P"9(?(I?_TIG:GT(GA4#*,X^Q,>JII9CYJ#)CI-OD(L;#(
M_DK0[<R:=1:%GL'KT!CU$6C%!C9-AAAY<-8.#+_=['QWE@T1(YN.KJ<B3'>Y
M+8$H1]\EW>ST(^JY-R669!/XM1=H0$X5X DYI"U?AU1R$)3UB,O#THQ(MRA\
M1TM$*@5'.$779JP5VUPH1H&V<M#G)EY<RNL)AH=J&$/N@$98>L6,M/]GD/_T
M; "W2#H2'-MJ4A=ZI0BVD6*R1.0YXJIVF:+"NF/:-"$4>L> *I%SJP[F/IH$
M%8HH<+:QN8#9B*C+DV.8-7]^-)'YG90QSIM< ["_%0L[EG$4+FM+?$'.%/<
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
MRRY$G;#;[;Y:3;<=P9Z_8DVMN] /NY7U+1NAKHV3_C9!WC%U$,[B;Z]#>3=
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
MA6$G"=EH>B.$=.B3;S$>VE#4A=NP4$GHHWT/=,O)1 B)(N4" #+/YZRO2E1
MYZ(.2$_ %FMP0OI5:<QIXC=F5VM&6BY/$ZFJ1NN15(:CLX?(;L-C!SWI7U&8
MJ"051PT8+^8^R8PQ<Z)H?:SQ"JR]2<$^'G'7UU4LOL]->MBLLBI=3L5HS*;4
MOO$^YSZIRO8'FPT;)##<J6PB1GD<6]W>KSP*NCJI46F4PI;-X0/.U6*SBEPL
MYA/8$2S5!@$" 0"YHEO-M@B44L=I/J(@YQ+. :4&?H+K]8)O0DW^9!@XXD/G
M+=&I6'(!+S)-4T%SBF#[C,*D^Q03Q8*:6K WP,:XJ+EZ6X\PRSFG)C\9NH!,
MHN!KGJ@T6AJI-THYUBJ((,'P9;C1QDM.'E0L!RZ7'&EUAV!/0FS9X,9[7.(A
MR,IB3.5'XY1HJ\Z%Z,V& EUCEI^^K R+R:KHHGC;)5O@=1)A[XYMD,/]=>+P
M5@19ONXDB@[SWJ9END3%+;G_TNP?;C+Y#VPU#2DRI1K&M#&A4XH8J2O;O$1C
M!Z_\&5F]Y^?P1[+AG'4V3>57F"I+W,HQHSV/*UYMR@EN,N%O$KS0#*JX<50A
MY@:L8(7?T5^B(QR=8;P83%B-3+?A>[JD!&I(51OVXF';DVAP8T3R@L!!6<YP
M"ICT2C!@BA$;=OS%XX!!#):<,9DNJ A S\84C!&[:J9U&(>!A6#."%P#UQR9
M 34 2FT&3E3V""ZP1;'P]:3Z5X1\(./40"UV:C(-HQFQ<WY7AG?,7]!"N7B$
M04/<7J[[$><)1Z%OYRGQ ?W*]\8XSBGNS.Z!B/--,EREGVX33#H7XXSZ3\7"
M01([O]7<U[/V!_$@PP3"I;A$W_,DN3C%O1/=$U?R23:MJ:E;BWPE8PL-QMF@
MC/7B@DJL%'&9FTIACNE[R*8J?U<P"@X(FF1BM"-7M'V"<!SR#ZBP<LK'FGW0
MPKL;2MVEU?>?=R50OF;'O@[9*,NO=,Q&V&8S@)FAW60%ARH9I0L]1+FC9(P4
M_RM9FW2F:.(4W^1!I;EYJO'==?74$\7*4/X#F3<<*+%3PE<97;&*5JU!!.J%
M/7W'"U!^G%M0BU\T]Z5>H/Y=*1VT=A4&B?>>@R\G(0:,X?=[\,:]+_ _G_^;
M>&IA"!X.&^:84.P:X$^@@-&_HU]@0>-I8?E#[03].EW-1.,L:L$!MM%5. 28
MEH+[[C(>J?C!>X6!MG+789(_N3OOB![O*N>7\;&;U5_J'6F_4U&:!B^SZ\+6
M%<!V@#^,%7<<OS&DK@-=&(S,3Y/Q"HR-J660.H;1RDDW?:%HH^0FI>4*RI1[
M?(>&HSG4+E6!/Q2IY5(OVYE.7^*4017H/$C2M!A+MMGTH))[XE4)4+Z+,M:2
MV'"[COVR@ H<'\60%">FM "P@,U:YXW?L.Y^UG]3"X[X&/.@+NG$N</QLC!:
M4:>M[%7OJ[]!$[?B(V1(X+HE,GXKOM& P3X]"6NW^Q"D5K_7\T$<JQK%_?]P
M2QV)___OV>O9[]?J:YG "]&G-FK]S1G]8\E183.BC9G-4_3<RG%Y'M)BKFU5
MQ<"J8-M"/("A]'BD?#D^+T5GNX54;^T[,$E^E_&(SM%+36.[4VNN@7:/C\^+
M[0768O?NU5-;?2J0O*9BU,]S:$J7_SVOD0V80B6L< @"?L\[94.GLAVU[D/L
MYQ^)#9M+%#;NAP)PS^OE10]2V:Q=]U6S87O9KJ_]%MJP&?X53MY=.!SN=4EM
MV!Q;K8? "&S2L7.\Q3_&W=4,FXWZ'^/N^FNC?B<ZJ%=P4!IAM]7[HUY=I9C*
M'_SFBL)F](>_NSKKX&';Z!,)QF3SM5]>-J[ZQ[K#[HGY%M;;]8<% O\0\]^.
MNK4&NG@/B!W^(18 CG*G^_31QPU9(X&0.ET,J(<I#-YQ GF>87O6[I<BR7_^
M@U_!6XTNG/G.'_P2WL;\V;JCG!LVQZU&+ZQW.T]V#S_)T;L?YNO=CM+3+.\]
MT6GO=!PV8:1WDNEG&NCK2G+MC<?!$:7;L<YF^U0+3 ZG<ZE^&L.%8HN'7GW*
M*VJ%W<8=@OF;G?'Z:U3WJ5E?8\8KPMA4]'A=_PQI8*R*H[/Q0"V_V09S+VRU
M.H_SF#9[@MN-1JWU2)=HLV<8U<->K_5B3L^3V%6_9?EX=(W5F[8C^5G\F">R
M;=O$1OE,7LJ3^2#]Y_)!GFH7&F&CMWKK/ QK>>-JV)TVF4/L"YS ATMI&F.,
MDVMSJK9_^VW'KVG'8D"_,AU)[%AN#0!+O=T-MD&;EL@9%=]+%EBP/ 2T(RD(
M"T>ZP<N81EB9S#T&],[??G,Z4K15 RFTD=X+YHJ-'G@AFWX"'5F_T0ZV&VT=
M6BT0&!F_DDLGZ!1RR1.:8;>#4*41EDC(]-R% .>T42_!I3412\3!2ZLH8;45
M[/:EII);BW7]#C4<SF*&0"7=J!YL_[6'UQ>/ 3:@42_!I-;#)GRMA&2&;(+8
M$&;K@.U ] 5=K'+=># OTS4A)MA3LBB;=Y'0>(=!^QQN%A;W+(0JEBPTV^V.
MQPU*3]ZIE*7M3E3U5;.]Z+/-+_,D*8&[EB2<7D_C"H.Q-#VI+2O?<*;3"%O-
M7B"&4L5T5$I*'2QE8()!FLTNXWP25Y_0=@^FU^C5NO:,[EU<Y$A#F-@G1HV>
M]A7H@)V&!X:G:C4%&=UIJE&P44%GD#86#XHKZCH+6^ZQX4>WNG#BP$Y840$K
M)?\; 730^ %T\$<%.G#5DG2%.9(M1X0.J4A^2=C;S>\*>Z_=!]7DG'D5=O_L
M4R,[TK6SPEF&]G'3))O&<XN)(KU:1"(H[^AT5 _!X(B8#ZXEL 3P\?\PD%@N
M&IFEQLSC:X,W(L2+^!]CQ;]"K@ D.K]$"DZX1//%#/_.Y@<,C$A?SX//A_M?
M+#0-M@USIV3([8D&:WUZGEXL<H'6DBXG;%03*(BL(&!V)DT(_KU(AU]MN[=I
MPN1&-FK($;CV%!LMB<\6UO(<ET' U?0=V,"UF,97<3HV4$?^XT,D6I7W\W0F
M"X)M1!I'[OY.YXLY,P0B16(ZP2X\5*STXE!:U1 8W/;3C9%+4)2XA_^0XO40
M(U?#;)8@!6(B"\7[I@C3"!>NF!#8V30>41\:8]6;-L +[I6$71NB6# L 3D.
M;'?2)J:)0$S.K]-A8@21'H^FGVW8%P$@ XL)(RZ12A<!YO"+EB:XY@.?$G"D
M$5QIM#3];NF<(0]VW=YII]/-$,W#JL0D0@@",$YV1^E%6N)%GB<O8E5]7X_H
M%<FS)F@3W"^$^  A8UA %YN.=4S)LG#,#@M5L7_TS\-WNU$?Q'TZ2B;IT( .
M@0#%N1)G%HB_7,$[K(=D>$G<ZB5]$(.VSZ<)DK6/8)SSM"!,##C^&6$/D:0C
M$0%^>)F,+8JT[CU9$E4&@L&Y%9X#Q/##MN?%W((H6.1;>\BQKQ94GZ%&)N@+
M@BT3N [^]7DBI,8,3PB3)C83^9P'LD$-DU66L#48S9G$?6W6G=NERL5R[:5F
MZTW9DN1.VVP\*G6:5K:91HV^ X5/;[.=Q%4&6M3J.#\H?[?!&#S8J%EN/-Z=
M,!5LAK]% EP=[VFEP:L.J== ;>Q><QW#H+J=JMMX=7$]M-'*&[S\FT:M>DS>
M4'A:CH4^3!9STLY^<S"IV0R\#@+K5R<!IG&59HMBO+3H__!O> +?G-[[<<Z$
M'C#)IBD<7 8_FA99[G*6V%UW<<"-KS5:<338 K%8L11:&(%;4>L8"E[]%=Y3
MM>!CEGT5?O9KA*!AP[U54@WV1H##/S5Q"?=EV-2ML8QXRN/?:M:ZYKVH(1!*
M)OE*0R4=-93+$I0EM:^NH#+AC5-N=W\!)*2  @/EUN>*$U\*1P@SU5VC$FX8
MA)@?%';+N4[H->K7N<?.[9(N]3=3F[3KRD:ML =N-!D.C* JT'74[^\>R0[#
M93L0 [#]HM=\L ?KB(/'2N0HQ1C]  0- D]+";I&".*P%8'!BSC^\-B57NQ5
MU3A<B=,(D8? L"B+KN EX/UIP%,1Y6.6%6+,49]W3)!#N]?DIN"%SDCQPG>B
M?]XM <@7-AI7P;MK1\9,O@[HK,7VQ_$I:I@9%O?;__QT+=2M?JW;>_/4-+VU
M;NN>[WB9?N:7&NA].Y5?9J#[!)&P_B39PV3P3K2RW^4%7<\Z1K5&J[&&*O;U
M#:?AM<*^['#^BO'8^]<I/$PL[L00O>[EKO?NTG^W]K>V[]&:M*Z];-2Z]]K+
M)SG[Z^$M7L^*U&N=3N<.^_!\P^DWUU"@M:;AK&2\G_3PWXL;>5WKW6W5[\$J
MOK:W=GKW(%]>SUN#E1KJUT2TO%+BT* "M3N2*(/C,"!_><4%.(^OLIQ,<W &
M;$2.K/L5#\#)(<?(.16],?2&Z!* =Y7E?BG!8,D>T?9?ZS4WG.$Y6);T>&<%
M=8I"<#<X4J68TN'T)G?*3\,[3BVFP-65I:1'^7M"2^(01+K?N,TM]=&ZB&ZZ
M?NL"V$7S<HWM-VXF1DL("#5>=NM<X+]&#ED:CI*>.C(-(27<7']XN!C(TBIK
MX<+>(1^420\I!E[7_:KT?)(S&+D?,#9>S>E*61V$Z5LS#)J*A^B@T$K&"A.X
MDCDN05?90!'.?+6>(O+&M9KD6N^I?/8S?II^FR]WZ6QK+@+E8KNT2CL\\U(I
MR'?DV)7&CAO))>HSYV1(,!A>^=MOOGQ+UE$.@!<NQ,A3\N]%>H4L7_-[#*LR
M,>\>EC,FZ@D9@1&,+H:?WGOGQ(7X=6Y4J <J+<+_$8PXMQ;#/Z8^RXV7/Y,Q
MD3QV\($M^\"F_\"&?6 57?F&I07*<4+&015@+-H4"R:Y8[-K3BP?9<_6<SB0
M6JQ$=K3FRU))"1:*06K>IOCMQSE(LX3\ZF&GUS$"L8WHX7S62R4V_;#5[57<
M&DJ;)*%A>#03,E)^PHP=$Z+IG+*.-IA;@E473:A#$1*IMR<'_W5XIOH-LZ>I
MEL70*_"'P@B)[S:*$R]BTE$.0N< KMI"@4>G_'M8,O?W_H#@N%Q6P(;7;HCY
MKDY"H[_-J!]L=V]86NJ@+B^M VU*XEX)Y<@O<:]].A4K&(^>QE@=-QH:C59K
M\X"%_:),3F_X&O!7"SF[#-V=K(4D;5O-L-GJ>IC#_IDR.0QX%#'"@'+#1"8)
MSC06OF?G4G3QM"5X'A=$BBAWI!_+#Y&MS].K_GX:]%'=,A;?[^R82:JBB5BO
M4GZW_^\+EUXU?Y1>_0E*KZI%US]^:M/ZYFR92,'1TN9@.)@-+HVZ50?!MJH#
M^]5CN /=VP\1#^#24]-XI](RVJ*^^+*"WM/\%5I'5A4SE&]YZA7 O5NMSD8K
M7$_/*CKA32O]91Y?&O;S8R51-ZP9TV%MYP9-=HLXR$MUJZ)Z [:J;;:JO$7]
MEF->Z^:@R5K"5W9VX&7XF.](U"'L%9CK5J5/9>^+7!EL*A+!/R,2?C8HY@EL
MU!"N* ]=?QP/,F8:-K5W,+:8R32(*(FSI4[YP7DR%P9F*B;$RY!JO08)$;EP
M[A(&03&,M/B*>R#$??@G-%?2(18CF3?"H&$W%KEDC2D[.R&2&"RB((Z&-!9:
M)ZEMXFJ@7V2S&CO!Q7*:H(Z]6/X4),AFEV=45I3#?R]R^J T=3LY\UL25G<T
M!15%"0W*A EWF3F"N)KB,3P<2^BF1)E")6VV,>'CP=E_ARC 8!O,F>0M+8H%
M16%F8UHL2C-?Q;#C\*D^J<BFV44>SRZQ-C2-+Z89F2/C&(0[*X;9#/YN2(.D
ME"^A4DVG).33X:DSDU^T-G-.12=IH5^&T?)_T&K\PNRT^15;CYB:QL-,'!=S
M&)H4J,'8EGI&?Z''R K;89E7V^_Q5C5W;)DK,H#Q).#4EG;'<Q24, C^F(PS
M:F?!@I#=<Q#PZ0AK5BEGSS&N"=9AZJ.Q:@19MN,!T[N8S>%'XK^NX@+$,2;.
M3"IV(YL$S?LD&=$NQ2,D-:%:2?P^E8V>CQ<I5H)FWY9P]LRJ@/TWQO(4.)E"
M8!O#?!>HZND[$_C_R?0JS;,IDUW:<<"_YLG0;"/(GA#&("N94UDK1054E<FK
M'[3 T1MGV:BJ7.@GF1<I@Y]8.DIK[3Z=)!*UHQ08N05EMIYQ HY2PM10A8XV
MF0S&5,>(3A3[6E@UQ2[6*FF%XS'"!T7">LSJK;!<"(7G;VG*(DCN-2B53'_/
M0/C HD1V%(Q8#G(:U37(!14)@G(W9"]TG6Q0H:!/PO>!"5)<NH224E_^_-1@
M^JU^K=][\\L,7?GI!8^RS<VK^C>.JK4?@+E_[Y*11JW]5&.I:)5]^LJ29YK/
MPPH[WFSH;!ZZ._<NIWEMN[.&K/M3GO4C8WD^/@_]O**VU0K;_35DSY]9H.Z0
M?]Z0$=MU[G2B5S/JJG6^>R'#4QZU#XX+=%!R@;ZP@;YI6E!$H-$(F_6[UR\]
M\TZW[@ T\3++%H6]UAU.S@LM6^/UW%*?Q25]-5I()* 3]CIW*/W9D$%;X+!7
M,V19YV[8[JRAB/8EUWDS[JBW%*8XUC#%)QM6)#8[&ZGXWYNFUA[D@$2=L-7I
M_Z%<D.:F^KL/VZ!>V(C^6#XB8J^_,B>1L(4>#ZW\W([+NE#(GOM:N(NIO2%C
M-DM=AAK;[&%7+_6+5$C?+>J,A60_0LZOXLKZ$7+>\-WY8YD3/T+.SWC->>4_
M45B_2W1G0Z9@&H-X\.U7,_#*M>]TU\"!\3(KW]PXI__U!J:C*.S?)0?T,AO>
MWM3 -"Q;IW[WEL3G7K9[,4/_"$P_2 +"3G<-( @OHT%?S\#-:K>CUQ>>KECM
MS;BO_F1!ZF[8K/^(46_N_G3@=%?P46S$A!ZX/Q4N\H9?Q*\T1!TPG-RK&?=K
MCE$'#-/W:L:]_B#U3;'F1JO6M+'F_ZV@!*:._";44FVTQ3].L^FN_K<V!VB_
MKP=KOT&5W4X#SZWXF;?#C7I Y%L]!Z)3F\S*" $:R7<;'@0S=8L8JERH60N!
M2AWZW*)?;A/&MO"(VKUO:H*5+O[+N" 89&G9@ .0%NF >\VQUT:!0;.<FC7&
M<8%-X.-S?"DO",C%+)TGP==I=CU.1A?4V^C6]H\3A*JFS<@1[  [OO!Y2FXB
MB-G3!.TT[!G@E?3QSVO8+EG SQ/$3Y=>=:?UB7 ';"_,F%(BOV-_!IF!@EO:
MKK7-9E#3TURV)9Y.%PIS:0!7O5T5K.1:\%N68\,*]@Y=$^KW( GB8*OC/%KQ
M4M-S6%LX- C$CE>L8#O,QK$@._ 3;VC%7Y4R']PC#,;9D.0'6^TNTVE< L'?
M:M7J9DP69@;WY^WQI^ K-J9YS?PN\ D*A@PT-NM#LZ#-8]QHABQ!<7.D?(5!
MPS3I"4,,MY@P#C2LXOPZ,U/DUDW;GXTKB(C$M'TFX87=0^?C>![R,,S?[7X0
MB/56MQ;=-JJ-5#Q[(JM?DZ4J'0/4@9C@!:-UPR3S1'N6;D;X)L#V(H5%B',X
MB' P7$1O:HV;7R9*.I!2_UZVH"ZCQ11>F(VOJ)F.LXOC-!;5,(ZOBT4Z5YAY
M1O6GDT.8ZG$*^SK+2>F+F(?!!2* PZN*N>E[*K#QB$9O^058J&)J18NQ[8Z'
MF<T2^6HZF:07W%+MG!U#^$3?CK67G^=,TQ%@ !B]2@%./4\(+V8&BBUT%(JE
M=4&Q1( !5$6XGJ0:4)VAX"MU4\M7Z*#@C5 B@/(@,:\CL !4[*T&];VVFBJB
M2',0M78C4/RB0!!N("V,)B.0YX3UM5S)I::K;,Y<4[ :Y/427\%4&N'HZ-T-
M KL0S&R#IA$&V'8Z1.WM*M0B6^1#FHZ9+@Z.@6J$YZ(TPGQ^#LN4;0:#3.L'
MC,'KAC'XQ3-;NV7 J%E6T(7Z<SR F2[FR2_?>R0_:3>B6HO!#NOD^WG+'_(,
M3MYQGIVG\V#[P[&2;SX:+."^/?^"@^#HI0_'(>/*+?+9> '7 \HXX@ 0O0@K
M@&).=[.G%TKH9 6B7 \O&?>.T'BP"Y7 L+")W+7;J,%\PD]6IR$T[:?XY'3*
M.%+47YT4_(\9G"QLL[[P>&]2;KLE;(*08;O1.K#F,P*Y;#7K81T)O=K]&H.<
M5Q*.-<*HWR'"L8[[)0-  &ME[TE\+/R@#4_M6 8OO6H0)Q-5=BX-Y69 FVEA
M$#28*Z.?Z'LHJI]V0FO4P0*,4G8*!DOU%^+Q_#);7%S".] ,(3R RR2>7U*[
M/M/4P ^B6LNEA9EE*3J+)60H0X!8H@> AUZBS\"R:(%UN%F;#1M=[I$'/69^
M.DK'C''!W"-L,RFUDC5)XL*R_ BR>R6AB_RBSLCZ9@3$PA#"[3Z,D4_#<4?0
M>H8OT.*I440@%HB4 .<$_:(;9HU6%]ZJA9H,! ()8J]@<\)/PQP.Q!4BWL94
MD=3>9?C$(A.#N(B'.3ICL-H+8H5BRJ)XQM9<RBX/7&37/'L&VQ+33I JX"X?
MI2,U/5C2Q<!C)?(^&>0+]-X8Y"GYAA@'U%?._>KP?G*:=@?+77*>V LX-WA,
MY&Y=9_E7I/E3(1-V)!$%PJKP6+&(QL=29KE<12PMSH08U@S6?TQ[A%[H(I<F
M]V*^FYWOCE."L(!5Q(G$H]]A8,S%Z<+^DUO,F(X,QY' ([-E@L?#$0'EV&#R
M'[HMF?* .$9P7*+*X*5@DX(*NHIA4H-QF2Y#CX&U,Q';8#JWYCL:KZK+D0>(
M$<Q 2\<IN]I$/62&6>EQ_AO\.QQ'C(8Y/< </P:D1%*K:HE%6UUL5-X#)#M"
M5JY8B4_%&">-;3: [@H-")AN?V1;2:X+)A6BV4U!S2DRS3MV;DZ2B\68K!$)
M4G!\:8%: KQDANEB?TFVK07J[!-8VH@1"<,[1[R,506UZB2&SF,P3N">-KXA
M/*N^4=]M--]LIMZO!!:T&$#F(P,QJ'\1X$R8+EZ$!U].@EY8[_ELL/S7=M-!
M&,0]<!!98/TE_M'NX85IZ&5A%)UZK>Z 5QH8N"^_>J_^\/8XB,)VM^^]FO_:
MZ'?]5S->Y:^T[_CC=ALQ>-T?MAO>6_=<H;5Z!%V87ZN]:[IE$"SJUYN.!BJ!
M:9'037/SM_BDX805"1#.S'GZ#6^W50@L7##]JR BX3\+/%A+'^')(A[:B-L*
MQY2A@;*(GLAGAW@=J"M0R@MQE964S+48/8!&L0O-W6"18<"F0XN3:%PHL)J3
M+R!FG+&8G'FZ.X\07;U6!$9=LU:_R:C#+_5;=?@2F!^51ITLE_MDQ)?J=9&E
MMN=;@NZ3^4O\Y&[EDP\%MK)V6@OUT5M1-^RVZT;2RQQ!G7[?%UD*;QAY)2K<
MJM^V6VC8VM.RQ\$/@T1[20$PV$48!_QW$@\O7:POLH7P(E^FR;C$7U5!_0,/
M40,''S9."?Y+WC5C"Y+@%F$'YUE.-YDG$Q7PKB_L]K=_N/T_W/Z;W?[A@]S^
M(^;>!-5V2%15S^CUEU]M0L6D6UUE;;]YP#>3?.?#,=PTDN-9)G$NML_*@UFM
M=<)NMUN"[^N'W;ZA/*-09AOUE_IIK."VFF$]:GB^<N4KA":5@?N-LA$7G(TT
M4$MX$6[UVBTU+U<G]\C%KQ"SIW;,#0;SMEAH.ZLKQ#_WHA-@W/1+QDW77A\&
M\M+:54;CW_3T&1&[!1_V]HY7HC\H)8>'>T$\09=4Z(C%U-$;J%&/(HX8%^)A
MX#@M_>DT@*-TZ1.IE8=I; $_I'73D(EFH('3]O@WZ];:7'D#&P1W?WP+.>_]
MQW?1K*QFH[SU<:FU&!B N%EKEQX=56TA.LS@GX*OQK&\_=/#FS?C,IW;M]PP
M$J5'3HQ5^=W'.?;Y#0_=4%Q..]I$]9]F4FQ.G7,?^*7MT_\53V:_?-HQ7P]-
M,LP!-PRV3^A[[^SWZ$&*\DG8=@)*F+/\;W^@7^S97W"&VTTA9:N#%2C59MCH
M@#'<Z%39N67LVT;8JG?AR\T;3%=4.TQ62/$ONN"E'*!@)0P/2PO6P2MC\B
M'<A!C:T4R07A/ZH2EWF;*?V\?MS_A_<[PH=X:?_G7QI_N:58KP%*IO/D/8U1
MM]9]%<V*+S70[Q4E?F\SOU/6]<!=%HUAY/OQY65K6M\M[5+K]-;0[+7N0;7K
M-W9Y/.FA%,5]C^U:[P*T[\(_M]Y7MOHWMIR]S)%9N1(V1CSOJK)?:CAW[+]H
MM&K]I[ZO&O4'S/$O_S?>"3! >>';F61^(,[U<Y\-T([/?R [W=6"WH<7UC_M
M9G_OY0^3@@&&6_-91H0J8_ 1U]! MRZ)6 ->V[H4]Q_JY ]W@FPQ+P@GGK*I
MB Q^GCS_%1S= S!R;4(5_<E/_&@'OIT-OX)#29H?O4Q0_70-;,R!:S0VQU*.
M>@\ "MC@XY_L2/)HM[B,*1TZR*98DC8<YHN[Z/_U+F\WNCL+^+I>V>K\R97
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
M'*?PF#(<40!O>>I!F#K8\T@GT0A;S8;Q+JN&6ZH5Z'0,^-UF2L,*;P!C2UE
MZ=B@37T**XXG[G_9_0Z=T@!.J&*7V_F-8$FHMFYP2P@G>U[H=6JC#=XNF4
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
M+?@1 6N5+YHK0,/=@%@RID0M&^EHR49H7E<1:_7!G_@,T%F _1XD4]Y3Y:A
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
MV?'DQ$@49_+*3?DH'&@=L">0S10"D'4*";F<#+PNJ R/MY?1X<^K8:',,0U
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
M_4 "=LN1G41M$$WX24M%N_J1 E;?&0_YQ6^3GUR(.X2_S,9VE>JEM;MZR;9
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
MF5'TS,*I@%C;@7[P&<;8P\%^DGO NL+QFJ'X&=NC4"+0NZK*;\ X)(R0CW&
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
MR^#2T?! ]C*C@V"2S?56\/%:.^<T,CL::XW4A&<R9Q@BDOI*D^/SG"0R:8P
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
MGJ)]_=&(#0.LVV _A\^F\\04SPR8PG_V%=!;Z)*4/L<>(47YF=R.^N)$[N%
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
M$S ZUV;QC,%W4,=R$+I01DC(%2NU&)+6=O@B<(]$97PU?CFFWE3EF^/^<'A
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
M@Y&F/(STF&")X/%:UIYD7ULBJQ"A);U"%4R\5*T#$R>I%Z0.02M&'8*:['C
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
MZM?0G&/36O3%P/^/GO1?6YK_7[[I<^<\4N?5&-+:"C[_>O3 !JIQA2[<8Z.
M\5]M[0]&)$9M@:JE"P?:XJ-2S0^5*J*RW98PWD*RCBU1*!J%2GXHU!@*]]?N
M1*RZ2&A$_+ZP*%+O9?&)7)ETZ#FV.W=>J -__^&P7\0P\#,U(L0"/I&Q67QP
M[U#\*Y*O$]PGMUS$8_Z=6M4:>Q/PI)XC2Y1EHLAS15D+4*94NXFF5QW32?FT
M4;5#,>>*JC9#5:\C.OPLPAEP2VU+]W2S= 5(SJPX$M[9H?<#B,AEDDZEWZYV
MI53]G.1Q_]R N<-4R :876Q@VFJ+2:L^P1/_N0%QAW61#1![*"';0N99)C06
MOIJV/2+W#FS-W*'DNPV?9#LX2PKCX8/A$'X!?X_2@>ALC_XRXTPY&@D,&@$R
M5L  7(1@(94_>MA^H%UMMI,DG9^KB^ 4T+C#,B@ &K$I0K>JIACH>?JNA%-
MWPYSH #H4UDKEHZ2+D(@Q^7 1H%_+AT.9>[!(2M#*HMHE7ZK455ES+DZ38]#
MB<R5Q2$5F4U IEI5NV6208G$@]:'5"2V*OUFK]K8WSCG0"V)Q'QV>^Z*3&9O
M8Y^@F.W%+*01'073M3>3VS_HS_8K_<A[Z=_]>"S3WL\\_[=,>\^?!F7:>YGV
M7AX]2[,J7=K[W=P5;F]AK_]J(U'Z47DD/>VP8Y2<=QF0Q+R,CI@V=>5)])@!
M&"7=708 ,?]"*S/=CS3 6'Q<)\YTEP'V'AOVTTM4]7:N,>SB0RQQFKMXB"EH
M?@/$VHTDF9;'="P^;4@ESG&7 2F%0:HAO+]:F>!>IF]FG^ N@T,P'Z/:[B09
MD726!_MS0^7A['89J-00E2VE3&TO41@QM5T&"IN(0JVY%X5E7GO13>93R.5,
MF=<N@SE:6'VD-<J<]O-"8LJ<=AE(;&/Y44M)/MSQ]-T&IX"\E/GL,I#7J?1;
M5;4M>O96F<M^--&Q$T@HD,<>7=8:IZ$F:8USELZ%$I:;B>PR8-G#Q*^JIDB
MY6EX%TH8;F:Q2X"ATF!UF%HO0@:!^!1V80\2GD3O&WF/L)\#:W0_=X83W:47
M]G1J>%.<%9 @?[Z+KASY??I54ELVY,?U,R=-\ 4D] DY].-_FK 5P&L7!)8#
M_QL1$VQH"U:FOSB4LH4A>EFY &,PEW@VH/Z5FO:,?0L\[B?UR) ZGFY809F
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
MBN&6>_/  (9[>!-PDB\+R!URTFI7'@(H2A,*]W/'G>L68X-'ROP9_%.;C68
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
MNSZ%5]$R"Y1TIHP(L1^$S)K!5)#6EPU/)1CR(3P^R1_"HU-XZ@YO418%6N%
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
MLX+'?L"P%5SN!2PDT&74<?@'G?SF0W.Y!X/4$D-Z87MS3-W;@,SY-P-4A0"
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
M>#I-:FN#Y9SF]"-&IS+]YFW2NE*T8@X<T9EH#05'+<I\S+))Y1X+<Y]^V#N
M7<^C,3 \Q!X&YN\"_!%'FBZG(G$=+K6\U2B=6D?I*IP#?Y0M@%D)*J4BKJ-0
MEJ=:ZZ^M:WT033 S,<(5!5U'H$JV:AR^LXY#RJ9R G1#WY4&QT3']N<!<(!F
MF$6+&W!X(IC/Q%PV$TZ2W.(H29S%0RVHJQ/ >TK]>Q($$BB6?W96[2L!7+7V
M5R'$6V,"'D$J!?2'BP<OB$6\KU&_$:FST)@)[NKD<$E"$/J:S+&_+LA[1KEL
MVM"268:K3F\L@JE7AZLSD()S<-KCJ4  ^]TI91'Y7Z*^^M#**GI^8$M59C##
MM:W@?TW0'0E(1+#&VZXH:"ULOD$+$4.:!<QKA2UW.KF^J^+E=4%=M2+ +XNQ
M;]R9Y.6; H],7%==V0*O^@'N$ I5ZC?7N_V1,8"P!\0-Q]<8<9QSOOA(0T^=
MW-#2N8V1@=RN#I5/Z*$7PUP>^C_3.YC2H\'H]-7)#Y\8"CD1W$*!2\H*<SU\
M H;#"\1"D)B;H[R3IMSN&+O1KJOA;1^/,+#H@U %O>3>)2AAW8-<_RSI.$^O
MU^U>L@6]N1HZYZ)=A1Z=XK* \K2?CJH9<$IEK@;K>^M@%?B$3G<;4>_+A ;
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
M%@I1_,Q6B%)B=KY )R8$DL90-).UQR,*>\=E;XDB_58(4V!NOBBO38AR@[C
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
MC),+(3#FQ$W$P"%RRO_+"T6<)*4B3,.FLHUJXA\[#-^HP>G=JE*WO:4K3'W
MNM19K+K!=*N*9I#%J1M3BKH;N(8"U8!@NI42^";DI[_425ZNH2-M\>B(WDS'
M2ZSL(,8X1A:IE;,<2YRB[DET80JY=(PSY.%X CHZ2]G@-&Y$?0>UIX!X0]<K
M!2Y:L#(.N2P$B;.91#[/%Y] 4\Q6I6$@S)L#6G;6GD["UGY:-L+6+%5;RF((
M96_;E)V$2+;:X0J7K 2P8Q-^WUKA,N2T*0ZG5$CK<4C\3.5-C43@;=IA_/*0
M%)Q)8C 1Y$F.H.T@3)H($#0,7AT,U, 7KC1^(P43Q9;K4R>M"3.W[=UFQR];
MV/;#M:6SOL*+^' B5=UP\41""J&)&,,0IVZ%:CA1IR$:Y[ZLE7E")WF$9OX'
MP:GN*7$WC*1JXYJBB[Z3W-VUTT5,RO@@2<"!*C2\&*.T6&'K>]JV?&V:H?*R
M @CWA7M?C]/BID R+?%*V1C2#9;2. W .#[?.2YKX\;:E >[_%<,VWB-% PL
MDN8(M&<($B2]+/*,RXPY6 D!V+2'VT 4M^)KO7.(4@SWYX%3-]HJ;^'+#"AI
MA<H@%H4'#N3,Q-H>%OF)- +B# )/!^-42Q2HC]E@8+MTO22I2(JLPB-X&%7E
M:< ,-)KDAQD'C6J'JSB06'B 01>UH.-+-[(M[WNV<;GPG07#7<W@2Q_%@*!-
M/NIL0+1-1.,$6B>L>0+M&P2+-A,4X:$T!F-=$\..D!/UNX\[GF+"K)\$68<0
M?@F!Q@%47"P^-.<4V/);9$RC&BZ9-?0)>0?-3Q"*K?,X]5D:OAZ2 S4.GQ2*
M&()MO5:MN=+6!97^J;$06&SY>Y[6=^5?[(#-JH0OZ6.89-<FN<C35&@WR=QT
M?2*:UI3%BM4:S[HOZ=]Q9:0VF;&8>MJ*N@E9U$6Z^GP7/P>A^P_J//C,?OQ
M6R0I\-2<BS<:VFY$;T/7IG<0"IQFNR=_@6SW)*E!\D$92_HP#.N#60G%R5#'
MHYY':J=LZNR#E2A&N&:$JY;6;24%W0QQK8F&0HUF?5C$CC<1/+;SQS^6^>,O
M+3?D=UOS*-IMA/H0IF,#=3@--Z=-OC^,0"WN/J@M='EXSXH*H&=R_UK0=$92
M77D^AXF./^B@U/KZ\ CMO[Y-4V;O:?C"YI3ZN>DF\%]H!)0TH%I4_!-DV=T$
M\?<T3I@(_@%L_V<T_VGY0L/5,[VA;_'JE7HO]#-;JS_75;N:3A?,2GUR"Z).
MT]*,Z41[X?&D9F;(>B F@.CPK] )]DA,6#=(KCE9!>2,%G\!?2$K7CKN+2:B
M.T3T1],>Y"C& [_1,6GDCJ.(V>3 *&[=S)CKQB5-!@:_Z)DZ4)\]NJ'Q<IU6
M;Y"L[U3>U$:GW*X=9J(M<"NG@@B7Q*O<@/.DT@SQF![VD3(N*P[?2$%%L?N4
M\ 1P':2A1>7G\ %&$LFH#W@4NQL^W>;-YURXAF%):H%J)$^3\4?!20/=Z'P3
MA+'[#ZY?DDW2LKK5U"@6@7KZA(%K(XUM8?-85&<F[O66OFGG2'K,6<:^1HR,
M3'X+ZQ.V4&6+UN5:DF[5D0*W>XOZB'![]P9U,%.@P\T5@)^$"KS*4J($>9>H
M85IFG@8;RMEQ<9 8*6W#CP+/=2QUOLW&5_")&NWZX#)A4R8] =N"-,.0J6*)
M:BJ&XM",@JV'B/E NNB3+3-*#V'Q4R\3@QC6(C_#2-N$BUHX6K@-Z=8*,WKA
MA+?#\DA6,-JT[5&];<H8:AB0<;A'#F$[?XSBT+)E,3JRI]$\(\U:H*8@:-J\
MI(66'E>X0A0,CV%Y#YR='4.TP-QW;ME@/5L1A4PS-VYD6NSX,H[CO:N.:-:Z
MTX_DA"1R>=@(YS-/19.";&U4[T/T43/3>T?3'%=\3?<1."1\[^4*HV4,)UH
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
MCN443^U+;0,4-LPPD,H:;24MJ')*-DQB:*E#6-8PFP *:[1Q=*<2FP&A:.-
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
M EF=G-1;,IFT:N!E(IFQ;VB(G+,7?CINY."30!#]24LL]T147029.+"7V'K
M+@YP[6!Y90,FTU(U.GJPT?M_AA8-$'6W"^2'S/37R^267N+Y]YX5.HQ=G5VA
MW04K%]Z2T$U4K$M.ZDZ<,9BI.^DG?FK-3]4PJU-5G;9,9JU:F.E!8-\)4P%"
MF=RZY*I&3QZ#EAH).C%0UVD5&R=4-)E;5- PD4A.MI>\]W3L_K2407]R*8G\
MM=(,=)JE&C?I<98:U<WADOK(Z,$H/V9R3^Q]K-,DC37[.@Y3,6V*T\2.Z*2-
M &-P21MYOU8BZ7#&I *T^IRI7FOFL%%KW'0F)YZ&C7A\>SO?9Y 42&*G)\A#
M2]SI%*JM$/J0E+K,$U&U)BI5L-7)JGZ+)A-6 _QT)JVSY1+9/$WD[M>%%40)
MWSR;<7#GL[364NA#6S6$GGBK-6\IHZU.7 V:-)FYFB"H,W7%7YZ@):%[E4[9
M/WZ ;;[I/#X?W3][U1-$'P*K)_?$81WLRU8'O,YV[2:MFLQD#7'4@\P^Q"FZ
M,^-0G,D[2B:?E)UQWL;!MDLNZT".,:BL [$G)FO-9#4Q5R>SQ@V;S&?-T=2?
MTFZL;03$LT6=K$:_6&X86\CWPTW\W5#TUD FW:BN@0H3[75(>[7Q;T*!+1YR
M&'38!F7]J3%']E'ZAUD8K G%?R#GGK$(S:@<W>)RLCU[0=3&/KJAV$8+RUNA
M45S"EL+J1J9=ZC:Q;%_.96/#M'4^VS_X,-BX:VOHP= ?/R&RHM;C&MN9#;N9
MDYVBG[MDW38"C,&D;>3]6ME1O&6M"C/)=C7EJN903SU$]""/X[=[.0O7#@O'
M1J',R79??4:1U26M]"/:*-D >]%DHB(Q%56AIT1*RHV82D_J*&E"5,?)77Y,
MU!M*G- .YE: 5H3RS><+M,J_PEWR8+E@C4YIJ@?!1B&I'O28*$I$462YBM"C
M"7H/V\<8/3M%3X&B:C1B)D750<E$BKH.?0WY24$J_<E)08F)F<3,1$*_)2VI
MM6 J)RGBHPDA?7>)+)]?I9W=(K?+2\ <0/YS3^>/FCY\%'II*.O$(ED6J8>>
MC$V:MF06JS3&2R]VN41L!HG$PF_OR FZL;#SV0I"VO$&L#8"C,DR3>3]6IFF
M@XN*)6#G0*Y:9FO2DCF$U HO30CI!_@^E>(O)Y8?[;0]Q6X8\-.;'=)2:S%&
M(:?64D\4U?Z,D +0-8X'U6K-/*IJC)LF=*5Z%W YQ4J<!'/HFY5A.32^8DLF
M]N",E7;!*HHJE1N>DY@)T2XC&$0U^4(C,P@$;HXR"FK)F4"/U&$GVSOVV-D+
M]NOF#LO4'-<VXMZDE"HLJ[T)UN+2GI*-A;W:F=[V-4>^(E.])ZIE>\M HI$)
M3T*& 'M3,%'3/R\VCY0\Q5=\?D;\7CO B&IUC32C(BQB0[X;PY [Q:0F*Y8R
MTC@E5<5F>-^9&7P:9$S /NWA9Q^^1#MB!:^F_&^ZOGP*&O3=I56P%';AXJ_C
MX"FT=PY&>:?LCN0K@/R,/;P)-R"4^=\U!+.@P,C]\K/U(H<S][N.<.85Z)LR
MF\RRV%097; _(1=?4%!74I7IIA'TX OXWD?+T+W$2VC6JU)3$^.4NI62OYY%
MP*A06?$.H#'"9) ,&H?(()&G\-@4'AO5D?L*9A?#8CG-+J;9Q32[,&1V(=YD
MQ][P <4/(7_  J_6@3^SF>/FXPB',E>JU=&50Q4U[JX/-P!=&.U7K34.\+4Z
MDI(=NH_OBRTQ)WS2PAS<%7-FW0O/%A*'K*1!B(/*:A1\GT(8HX4PX-MO*V,8
M2E4U,8\TB*&&0=^LE.3KG(>4:65OSU[L-7<7>'KB.VIYOAL!]^GD)B#WMZ<"
MLJK9@,Z6:8)'W^]O-7EF]Z?M[+-KX##LL\?#"-+S9QM" _Q')'MRH<$5>@GN
MGI'[A#X3+UA#[Z:6C>IL[JYP$W>![_3O O]"%KU[)IU8/FWK\ R^0TELY^\-
ML3-[<GV71][:@=HZ1DIL[1_,L/8Y":'-/@T;.TQ;QSB)3?VC(:9F9;LS-6_L
M0$T=X20V]8?Q3.T*5>#!#XJ<8ZEA*ZJ:8\8J#,1&^ZCG2GN4*+.44W.,]7:Y
M)!JONLL%G];>05%G;M0N<L2)71,V!.17K&S 6KTJ#$;MX+E$*\N=$W^<O3OE
MIVO,'V5A)\X 1;W$ 5Y%MELP,U+0F2R7,X )!,H9->CA@^>_(KY,AIS9$Z+6
M"EV%?/DKR>@]"D.T%%5C.FFIV<0]H*A2_*[#P&=3 G[**CJT#JA1KPT#.*LF
M*!H=&Q1*GB0:*(D_<_X3^@&?(=8QK$)KIII8!2B-=C< W132HM[H!5LQU;@R
M8. EQ".FXQ)1BIS+&#90ATB!@ 26&Y4<U)=Y%[_IKI=S1-D?WHGE6IZ-;M<(
MI6_3S-4\Z3<SS[D.UH@ND(WP4Y0GIU.WI7.IQO!0.E=B<D;@X$F"WAZU3Y3X
M?KP3 )*[HI(!=%6EMD;^Q847((9BL!<U[>EQR!BP464U ZQ4K;I&K@&/OSUS
MGCHG])2$#\$R=,O=K&)@U6K#  O6!*6]4_ Q?JEX:,5#H7NW8!12%;R2KE"@
MQJWRNB:87@T$>!_1(?J!%]X3DX;0;:+_B,X?)(K^'A\D^>3F29R(!#*^]NPS
M(#\1XO!Q>+U,8L2P'U%=TP V4@) *Z\OD?=70G^[\&XHL9%?::-\89/,4E!3
M([]N)^+">O[,G J*+;?2$+FR)MDAKZ1&^[QW$K(Q6X4^+V(2Z)%*7Y<CQ.GW
M&;ONB Y0403]'9^BQ)/# XJ:0@5(N/O9 )K8JP+[)S4IXI$1/'%N XL&(TV1
M4Z4*)X^RI\'8<+@DH,]3HP&#;*P"AT:^42KVQ>;1PC3:^%IML4)A@ZQ35%,C
M]TB1[[Z,O4.Z%MY?P&W0#=RBF//./$=WUTBRRW]$;TE!*OT=* 4E)I\*%#6#
MW@V;(S)DHT6SZG,XN=(&\ ^HJ$8!HHR,5\2S^4[O ,U6%,5IN14M U<URTP2
M"#1RES(",\_.01N+_J9JJ6(%L^Q34E<CURDCYCST [+A:U6QT^VO\:.J@21U
MS;*5# 2-3OU'BXJ2%[K,;&IU#3";(@@:'>+/WR08I;VZ7M[[L;R0N:1U3#"3
M7&F-3MU+)=T=;XT\:>9G8\N](7&^LC/NU?N\YUUBOY$A:[1NNLGK -G=.7T@
M%]*>/19H%;J\WG;VR&]XL5R^>^,FOM6<3["BTR+1.T'$KFU;T]BJK8'2[@A^
M[7?F(;PNF[XI/[9>A=/%PC/;#C>\[R(GFS*BOLVAALSN!2 \P,S_K6E;$R6Z
MPPOK%97,-KED\?VXP=*:$:OO[!L:(B?)"3#R$121)/J'D@'!I_ Q*&J"V 6/
MU*$[ZP55GS(!RAM .!)E-0HBG[$A3K8(1:$>1G#8>L NFX54F::ZG@$F4E!>
MH]AQ*:F#W$)@<0,, ZNJ4=0X/H84CW+E<5-1R0#;5*FM48"XKG&,MDMMDWQO
MC&O[_I^A10-$W2VC@Y"9_'J9!->(Y]][5N@PU][9%=H%U"Z\):&;[A/1=2C/
M&&YNA^)/SBXHZ@(](2]$YVPDSXD7"?$K#M;IVMK9B^V&49X+-@=E_SG,1024
M:=*2 835"*#.-L ^(?I ?#36YE<>:[RA9(FA'IPM88 Q<PK!3K-11HK5D>QG
MS10PP$19=3K+O3*NA8HIRI)D,]"<%2AM@.U 13O;'%LRY%#.W7?IK</9"X?!
MFX@[]>.:/7H,EZV9I)-W!@=3+ ^BB>@G S@A5D&C6.))R!3B+,7ZXL6&KXI7
M[T25US' "A5*:Q0__&PQ73U$<QPBLXVD@@&&D:FK412137V8#J'-98F.OZ\8
MGM(A(ZMA@%VD"FL4/ 3?KC+;5%0RP#Q5:O<52QPZ,)QN\CA%3&P;)U$MYD9&
M!O%RFS] 3. X<C?-&]!?NH,2W@-KU/X:4$-X=XVTB@%]0*XRO'W5C-6'>G.O
MD^TEL;M?<F@KA/Z3UK+,T_05%%5\4S5TOW9<R  B*:K5]^36IT$&;?9ICS3[
ML!?G$V)>JO6XYI>N9Z]E3P"7E]7D0K+2G>85&HZ-/5H5Y3HE&PL7-RK+RXZ#
MO5+?V9D 5K3O2\KO7]^^9A0\MSS+L3XCGK!=<*!#5$IS7$'E^KY6_,Q;L?>:
MPYW>D-.<BV%<X;(&H"M1M*?@BH_LUROR]";:ADNW,7<D'_;4D7SQY>*L@'CF
M!\WAS:J@43P$OMD2<COV!75]!<ITTRARJ_=BA=J5I]-JA19FF)8K=+7,M%ZA
MJ6&F!0N][3.M6$PK%K4ZS+1D<=!+%BU9XR#6++Z_)-[J#M'-*7KH=L^<L.4Q
M5A>$@DQ+!O D,@,7-)G,%C%@N2"ODAXW7/\P)YL-CNXMY7,L?K*!3;>0QV]4
M[G0@JCQHC'&I(M?A#E-Q6'A_GC7)%B (!Y?+:#P" :4T"N\DJ9A^M2AE+_AM
M=#K2@I)C X4U-D"5FO) SE!D^&,F^\$^<<9IXD"QKY.<.U[VV&JG+-E*@C'H
MLY7 A\NKK44M(;B[>P>065+! %Z0J:L12Y?$9'^DWR5OE?1R-CXKC]G-E]TI
MJFK-]@\RL1=T *]&2P0-U2LE2NBVSY2;/]R>(H"RN[4*L2^=D33W!MP'\@KQ
M.X&O7;\-C4W8$)3V)T>UB%V*-:\>T>:.3X715F=Q(V_%NW'BE6*O=TXVC\3C
M@01^Y6]2(&&C$^2A)>XVMME:"GTF##6$GB8-\&)WG$$) !!:[Y97,H!LJM3N
M>U]J2G9% 21O\E)1C6&6JZB1?UVOWQO<X6OV] 9Y4D9:!Q2_',Z62V0'^ GM
M?EVP=_\"V<2SF6?1_>FE]F+H\V:M(_7T:JWFECQRP$B<!>>(#3W+Y8O[(0]C
MY="O8J1.GF$2CW4#JD:!0D"S:*\'CX6SA[J9X5JO0X"MF&MR&!@=_8N\[,D5
MR+G.>(H9[7+ ,+B(U[0U<XU<#91&&X<!'=@7<^9$X<#G\46&V[J>>07US36H
M"(P#B=-=> 'KEGXRJ;Q%=DBC$%;T5D*;1WA6457/"'-7*M]U(*^9F<7S\9GS
MG]"/=O3<$4$@LKB"JE1%8ZNIJ7P@>W\!)HJSO.] J.E0E6IK;.W:0'1W'=\4
MH.DI0//!\ !-_.4)6C(';U?@E/WC!]AF7GWB^ T0HZDIB3YAFIJ"3Y&:"I+A
M>:/35.W8"[&WVM\94$ 9^2G.4B)JUJ(Q9-40,.UB+K7T2$95=W9/&SQ,L^_@
MTBXH4TN-LQ<&"I,9>Q;=1B>NKI@'Q>]T("X3;95.?[KK%LI//,Q^HPZXZ0M8
M'ZXCV;O=%%YL= ROI2C#Y(" HD8W'IQ8/G+XKA;F_B=#F%K>"L6I _=%;JPM
M_VKV;%'G*N09B:Z7T:_^+ S6A.(_P/LANG^. >S3 [@:N3"-M4M&YW48^('E
M\8PIL;Y==QWP.8?<=6!P-?*#TLM!;Q%]POP28)&R[&V<A"+XN_OL!5$;^VSV
M>1LP[!(U@2[37?L&=)4.P=1H28L?E+!Y[%:LCWC76LW*!AA7%0:-<N6TI:Y/
M_+2E?^'=((J)\RN;Q*V9_K,GYK&O4/3C*0/DW,+T%\L-P02] TMA0%\:W##P
MNIN>;QPVT7MB,SNF$]?:C_;K9W^?$S]@\XM_H8"O8ZP\B;_;W_,,Z&@]@@VO
M#':49+:!Z%52WY$3M/]TS<;+W1I=,2#OGI'[A#X3+U@7/9EQ9=&XCXULI.X6
M*#7K?S&IGQ.:E 1.]^DEW]1/ZQ@37L\UL.^>DY#^"UET=.+<"S+U1J%YQ-WN
MH^'=3D>^E LW=4]E,P)1UK<F3J?36,]NXA9YVA=>0+'G8[O/.;32HS7NEL.:
M .ATIL?V!^EI\/.^@NXE 1OH4T/G*DL79/=;R,0Z9Z/1,WX0$ ?;7E:GVP@R
MYHIV&[FG57"8[J8KW\9"G.>&#K;S74H-P15P:G4T28Q=?0^.6&.-;%,04'@U
MG+RL)K:0]:U<O%JLL$8F8;)M$G87WGD&ES/,% )%-=JW,-W3-1[TG2Y>#K)H
MK(O)2YVUOT7A_O,7W5!LHP47CCTQDBR2H+00*R^KLV4JM#R@,7GV\HB3;=@]
M#TS1DW3N [TBW'<6T7+GC<10'*)I69W-4Z&E3INQN"=UX?LA<DY#BKU5W GB
MC<79:$$:HP1'8/V&=+9@&WRZV]:D/G[$QJDJK;,%*C7M;JO/Z"^ZKW6K^S O
M.>6][MUMTREWW(P02H,T6UYG(REHV]V^DM$':D(_?([<ZT M/T?G/M CNGUO
M#BEWW6CM-2.)TF@M5=+97*IZ5^QRT&%Q,-N)LMX87]Z, 6>NVZ;'8ZQ=":7;
MHF$3':8%Q.[?.[O3$AF\^:$>FU^@BY^PP[I#4AZ,-0_R;!.6.X<Q@D;+0KUH
M_ MQ63,\$9LD_>\03_Y:NUS1 (<0\17IN\#^;^<4H32CQE#=3?C<KZVSB<'7
MZ !PI,I#M;8/=886O]'X6-;'^GF@*9VK)[CE\7 =YAFY/72%I!OWS"&G&1^9
MWVKOGVS32.5^IC7.3L6VTNHV,^E4N6G*,NUY[-=;]VF009M]VB/-/NS%N;61
M9U%,!/L;X7*:1)E*>X8DFHV-=R+,O>>S5Q!>8C:#$^U?E)<=!_?*_K*#'E:R
M[^TW$;L>"_<@EG[6&,6R*MU-LB3 O9,#]\X@X-[)@1MGRC!MS]0K,*#DOY6]
MMTORC&C\%]Z *==[?:0FW:'4D:OC 5UAKGV8LZ&B]X^/0W>NXB._NLY5POQ0
MF2M-W)G9'R'/5#C4T[^Z+B>S1-\;8 NIT1:(^^9, )Y_FL];0\N]Q$L$I2^I
M55UGP];'0J>=L\* :,/>6.Z%!5QR54[0"GL<I!.+-6>C>A'KD434N2-J"9A.
MZ1%[H=[,9J,17H*"IQO318>PA&[;J[L:EF5=9<-R$&JM*Y(Q_70TF\GW=P^U
MHOCQ$R(K:CVNL7WA+0G=Q!CL%K6$/W>Z2MA*@C%6_EH)?+BK>>)Y!!]9EK>]
MM5R>.NINC>X]S%.!\P$JFCC(RVN\>*>@;-\+&_G'GX64/(JVA@N+&85LJEK?
M"Q[9IT87?5:@&9<Q",I$*7DP8:A7T?';/7->$F]UB9_8R]/W$3^;+^#90IF3
M[;[ZC"*KTY=43[*-\?KJ296O[<56@J[ZW59917/FJ%:Y[S=<28(S;\7<<=&9
M8K"H:2#O5.S[;5=Z\@5%JN"F14T#=Z=BW_'TTI-G(1?1Q98*O/O"I@&<4;.[
MP+@BQ'/+LQPE?).2IH&;*BB/P@[FOQTOT!/R0L1\A!M*G- .YNRUL")T._.<
M!5KE9\DN>;!<L$:WWEL?DHWBN_6AR.%Z;M,&8[,V&.]G%I9;M<FX5%:3B+-\
MHW%9P[&Q1ZNB7/!F8["L!KL]H;ZS,P&L:-^SEIB'P7VSN9\U1[*L3M_;H"KZ
M;_).NZ;)G1L ;0B+Z<P88KWT -MGOD8BE@^2!5QVO"XNZRP%X$4Z]LT3U^R5
MC0**;1_DBE(1?<$4:]1W$./3UD,V<<EJ>^8B.Z#<=5XANKVGT9<P"2O5TQMM
M1=W[#G5<(=9P('GA%0KH#6I1F[ZC&,QY)\X-PX'/^3X3#[-ZV%M9GC.S&1?Y
M[!."^:%.;;UQKX6#3MO0I@,\8YV=2B(=_';X=&ONKSA8ST,_(!M$SUYL-^1;
M'7GXC/WGW%DO@&V:M*2)\4K=+FO 1@C)W1X]HXO7H:]C:%%%+/WCBBI:3$'%
M*:@X!16GH.(45.PK6!!*H@3A^#Z^<C@QHX@>X:TIECC%$J=8HE9@3K'$*98X
MQ1*G6.(42YQBB5,L<8HEMHTEODM8@Q^"8<[934CMM>4C?G,K#J(<Z=T&"=6?
M-TKT3UV\*:P',P;96FZPO? 8Y Q6CSPB?FUAZ2ZEZO(&!/LDRFJ4="N3H.7Z
MP<6K"$; '.*R!I@"4%(^.1J,:=^?,<HD6X1.D(>6.(A.SW=+KM)'C,*G4HDF
M"@5%/65@>3P; ^O1^"%,LRTD:%*.,D51CZ;;;*'9AH0>I%?+1@U@@+:P:>*4
M?7>)F-/1,3D4&AV%#@HR'"X! .>RN/N/KE,/(0+CG- ;B_[&/Y* 7[%PO4S?
M8X)(1-T6-!ZSC0#I_5BM6*!9R&9RY &[J*F%P!;,M! ,2.]G<ZNZS,SY#YMX
M1Q$7$OV:7O:U0+^'_$KOLR=$M^?X*4Y3&&7GNO;F:YZZZ,*;WUPT&7;M'VIF
M/^@4=HV"7GE%Y\2'7A6"@AI;4J:>'O?ZI"[" MG$L[&+HT==+_,27V+K@=^I
MAGMRDFH_?4QOJK:PA^MV=3SN%SQMW?7RWD?1.7,E"BC6,8X-2DIK%,82=^WM
M/*0<B%VT_GIYCCV+C0G+O2$^YI*?\9'GXP>7U5(D\Q;-&V?T-E!JE/Y=KE0C
MJYMO2XT=JYVH5^P-UL1(F7KFVBFKO$8YTP%IZQG(8+-HDTTF\?-$4["=L'?D
MA,VXL//9"D+*/O?B%C>28$S7N)' DWL,BBK%,YWPGX;HBHEZ]XS<)[['*%A#
MFW4:-V< J32'2B-_6U4)'M*Y>R8MS9RV<D#6W0&CD9-<2W;V3.A@5OUV#LVP
M,3@:>==UI#\G87&O:^-F#LRP,30:N>*UA,=/78S8J)E#LVL$C4;;FE6%GRT#
M1#LR;KZM [)P 22-KL11U:"E90_)F%6WPNACOWO/87-/OG\(.6<O_!"%=!-6
ML[9,MRP,DMC,'YB9CYBF2T0I<BYC" %-/L91  ^MK" I.P7+= F6?1P_<@E=
M6AG]R+>O0->&U6[&./.I0 .$(]YJ9]C3A&$6C 9N$+55%Q,4FC'=L$)H ,,.
MOMOU^[F/V5?[S;@K-JWF?D!Z^F9?OMNH=H,'CQ+,;B#G%,,&19V2#G6R#S/;
M(:,M(_[,_CW$\18!0;X0M3J:'/<LG=55U'A4T(5)0U1KC0-\K8ZD9(>ALHK,
M"3_HQU-!\&P^%YX-)@^ 2AJ$.*BL1JL:4X: T: _Q_SJ,Y??QW/!H/-6?&]8
M?#-/U+'8#!Z:8BE5U<0\I8Z5-9$:!GVSTFX"%^VQYU>%VV[H,Z'N;\N#_IS0
M<[2Q^1W/Y\QG7&,T=_'C[=9G.@IXK+NV=;9GQRAJ<O;XAS.+<H5\-OF+;O7>
MIS M_G)B^=B>><XI=D,V@>QVQM5>CE$F8.W%GN9CH*@WE"QQ<$E\Z(6=*6#
M/"RKCD8[>0H!H:N0.W#7RZC/^M=AX+-W%L]1$_5?P!#UVC# 5C5!@<E<=:GB
M?4PQ['$/Q$<C+54(M4[XJJ3Z_EA?G4ZAT)JIW4,%*'A'D/D=Y7H)(5"/-<!6
M3.T8,F TVDHD=%@ TXG+&F @0$EXYX]1X[*H7=+O%(V8EC;0C#M%X;T];0T)
M3LF2'_C_/5@^^MN?_S]02P,$%     @ )5]Z6*H$\!-6/0  B4    T   !U
M=&UD,3!K7S$N:G!GS;MW5%-1U"\8!*2+2%-:I*,TE::"Q$H1D2*]1>E%0%0$
M)"2(= 0$!"0(0:1)$:E!0")=FO062B!1D9X AJLIS/7[YKWWS9HW:][,/S.'
MM4]@W=Q[SVZ__=N7<P]F#I8@1V\:&!M 6%A8(//@#^1@#G(-<HCEW_@W'_HW
MV%C_S>QL;*QLA]D/'_X/X>#B!(7C\&%.'DXN[G\#_(V7AYOWWQ__+O*?IQYB
M9V5EY^8XS,']_W@<?($(<$*\#L%8660@AP186 58#KH@4 B$A?T_EL<"^=\'
MRR%6-O;#'. R>, O-!P%E\_*"BZ:'5PQ>#0"/ YA$V _)GWVRF%!BWL<,D%"
MYYZEO>64O5K3+FPY2I;3<'T8Q<4M(GK\A)B\@J+2J=.:6MHZYR]<O';]AH&A
MD?'-.U;6-K9V]@YN[AZ>7MX^OH\>!S\)"0U[^CPZ)C8N/B$Q/>-59E;VZQQT
MX;NBXI+2LO?EM77U#8W8ID_-'9U=W3V]7_OZQ\8G)J>F9V;QRT32]Q\_5WZM
MKE%V=O=^4_>!/W__Z<4"867Y;^-_JI< J->A?S[@^*<7RZ&0?U\08&.7/GOX
MV!4+CGM!@C+GGG$*74U[6]/.):MA219V?3C*+2*GN2Q/^:?:?VCVOZ98U/\K
MS?Z[8O]#+SR$EY4%=!ZK  0&8= +$Y4@__\5/Z/W^V4L$^9'GEI<9A>R"CFG
M:5Y7^)T*C8$8WT $TJX>0-K=VUB80W"L633J'E0RU+!;5&PZL63\+:8+[5RI
M<]$S3?N=RD>[]H>N.2NQQIY&$RIIB@-!0DF?=%[1N+N_AU_W05(D1M@F+&Y
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
M\1YY66MV,HR0WF/L5.,IGTJ:WO!:\K>E-H%TMPBI]*_:'$5*&'H4 [?7N^J
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
MA)[K$RS$&YY/6=L)5 ;C$ZPP[=H(,'?9;S$JW,CP:+4/]3 . 'K9].%NCW@
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
M:R::U6[\!/Q^E_IL-9/O+1A)5K_T15*8A&XIC8GJUE^:.0VQ#1G=3^E,BXF
MJHZNCJFQXY>#;UQ.DCC:_:DTTR%0'F155@AUF@2V,S4><PPIM;C@0G=#;XD'
M)G"5_1)]R7=H9GZ^N/B%AG..G.?KCGU;:<_[\T;/^F:/5P\2YI[WPK'9=*$!
M)K<@<9C'F*83FM$MI>\WMW *H158M*;A'"K6HYQ5:R)LN.#A&ZEI>6FB[)=B
MD^,SO6/GJCYRM(3F,H\<97S$^:#PP\NROFT*@1QV@$D74C10)#1D.>N3N,_?
MU0SS\<(VCT3QEO=:E-,+IL=\GE#Z-*^X8L*/?Y"5"@*MUP8J745W ><7H=EF
M4XA3):$M5P';Y?,]Q<N;[/6TLJW*XPOX(@<&T)@IFT*T0G-N3MDHR+5Y7#G>
M%+NUOIKZ'$;VA6_:%B+'Q4SH=X#2I7B$:' AHZ++X6>V#O7S9 ,I(DLWU\Z_
MP<0TVU_%-)SWSH+*:$=M#KTAS9+CKR@39&,@F(I.ZRLA^^%\3''0DS ]_A*7
M-1?(9+7[I-X%HNH]2U(W#'_,9\<%;A9^[D_LWH"7N/%)-(?WEIJ5$2OG5XY+
M),R<!E&'+BC*Y)2F75B%L;;:^A2%KO?B;V.>-$]N-B]>*_#!)S&:#R"V(M0I
MG9H(]*+S[5$;K6>DZRTQ NY!$L>02>"--=HTZ)[ .(T=H0'TTJZ8>H41A\([
M'LP3?-'!7\\ T>Y5;=5"KHOS[9+T0^(3S]XF+#D6)Y ,DE\A'Z#: V!+::@&
MG6[UF6&J-2,/YQ5XV(3";1:-E(*SA::3S%HO(EZ,^_SUQ!PNDYX?E>.FIJI4
M;G4H%0>KL+:HKR,3EOWYP0;O\";]+#FC\\G32[$Y!;U>RY]U;V(3Q?V.W\/:
M;;Y-$#Q;Y%V>6(Y3LH:XLUR&_GM^\,AP<\&'=@,YE06K 6F!W_#1!1\FV[B:
M0L+C2VI<FUJ?;UJ.+,J=8\-L#D@-)%VP;HVN:ZKY3* FO+-SH\ !:>Q&*7F[
M%];(&-Z\1%DGFL4NDSDV5DIF0H>[]4_'[B@GRX_-F25*0CHC]'HVY<)LPK,;
MO=^*5)6JUG5*5$N(X)0!'$A'H&WJ0"[1, 5A0G;K01?O=ZY75/ G-"\6X=M:
MPKQD6A_,-3;MRZF^VQ[_8=.$/GLT_:AI?;BL VVWT^5,"Y *ZDT)?=X.JP-;
MU5**R;615D5B$O\QQ!7@69B7Y&1UBJQHB%E(A(! E[IT?;99@_$[JYS[L@T6
MRO,W_&3[64C_-A3S TK0GE1 Z0"R:?(!83+>:A94%BI[L[&U=K1-^)=.AC%(
MMU^(9%.J2DI1XN?'M'CF^FX>SQI;6][BBCI>G'+'MY.?*@SX4$1)?O;, 5B=
M2 [1]!II.O4Q3UI(6)GCT-O5 PA??7@X]AM&[[WO_ITYE^*6P!2%V*F%@$WB
MX/BPWLA]9#N,;%8]U\ODKB."N44_/=DJEB\*F"XG:YM>A4HZA][>&C><(*+7
M>O!_C0*RU &TF9SVQRM\&4-"9^4+C,8F51=9&<>8[2BRZ?#L<R;7.IG&/(J+
M=.'QW@YX^TRK6MAW4''R-^JT4*)Z_3>(N/!1MBCYE$7I+HN3<N;LZH!"(%VP
M=SF.+EA'#:D'[BQK7HR+#]9.M:1,)ZIYHGT:DJW?)LN_U!N62SJT(= I\&2'
M=(-W[$(8_->:D+]S_?_Q10!X.HX<G+JQ27-CCD$A3$D 3KT+1!#517Y]!-!
M:.]E\F+JI;W:V]1^S3_NB?,G](J[OWM>>_W.+_I<C.4'7)6U"['CPD^:P8-.
MR6;2]/1?<XXNT$D&ZH"\?^D&*_DIK1<GS+V&.=$F=TL+E>!RLNE1<%!@D-(Q
M[5S)[[4FE[HLOMKGV\L_07NFWRH72H%AY:(;6JX>>O$B_$YALG2R:[*PM8&P
MU5V6U=L%_+V!@++.!@O-E_D-1C9/UF5R[_[;0S6JKI4J8'K/A[_+F>/VN+AE
M^JIM<.68<6DG,PW%2TW#=U+#[Z:*=XPGR$CGM_IUX^H-Z1*ZH-?,@! _,FEY
MNT/U3KN+& 69\0,>FMKY5R]?;"30G_0XI]2DRA#Y3C5OWE:$$MO09'9N\7"Z
MAH9QD ?']HV%-[9I?QXJD3*'W>824_C.WNWA[-C"%QN>N*!'TAOA %M0NB K
MDV^+D7\ <1>O4B2I]YHJ7J'@NM9U>W")Z[0CDWO)8C^*L*],W*L#:C7+J1]O
MUEV8Y1V0=>CVE4_C7]4[8WCH5?(9'L_,>S'B3SO>-KNK7HR\@$DX@!S9VTYP
MX9[4$RU?$XOYW%95XC1K&E2T=LQAX4O=]5'-K%V#]JJ?W"OW*V+OC%<A-0 <
MD^\0V/DFMVFO90<QQZCZ4L"C"/F) ?XXNDC2AUL>=SM.<+UT>-;BIU'DQ[EC
M=<7/5S*>T792BK/H=&EY:G^D?A@C$K64BZGC ,-M61/&>0#Q@D%Z/?AG24FV
MTPWLQ@W.]WMVFB]]7Q8=Y-X='! [?>-$#E4FZM$T<HQ08[;Q@W;W6J$=<PS&
MO9<JXA@:8DD+2)9Z)UCA^'7T]<]4Q/W*$=,39X<"NCKUW'M/&\7Y/_TV^6VS
M=6](B,7E6[?_Y:Z@6-8 <[<?$OSCPCW(413'_;9+="F*;?NFB=-$?4N@<&@
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
MB ,(]128=_ZPI3>PFH5O%=7. #>-Z!6OM:!OPG?''GBU&B9^Y5SOBD%6?$*
M,/K27)[<ZX"[GM(ST)%&ZWNQYLC";-:QR//5SPEU^QV!D?HL=< =,OP+VBR&
MKEKR!S>[*#[R&*C<J$+,YOMPWS@6R6,L6_/;4_&]7.ESF!?F.9Q?7SKT.;'T
M&5(D-/ &13%)+L5,"'AN.'JWH6W*X=*BH_/P,95L>9V/<"U,P.V%EI1P7R66
M\F>V :=FI%Y97!:8=^A]T"(1P5^LM3$Y:I&R5 3-Q>%NHA,A[T4RV/0,=\J6
MK:1@?R=V2SOK!BQV-GNF+D!7R!5"YNQVC[\NW2\EOZD>1$%7;%[=O3OZO_JZ
M\?\W@CJ8_=\ 4$L#!!0    ( "5?>ECG<Q=P*@4  ($B   /    =71M9%]E
M>#$P>C4N:'1M[5I9<]LV$'[/K]A.TMB:T4'2EB\IFM%!)4YC2R,K:9-.'T 2
M$C$E 0X 6E9_?1<4[<CU$5U6G+:>D4A: /;;;W>!78#U=\.S#XT7]9]*)>A+
M$:0^#<";@MMYVQRHE&D*2HSTA$A:A&9P2;AIT!9QDFHJX91S<4DT$UP5\<$O
M%_&W9"K9.-2PVRZ 8UE')<=R]N#W?O^W7X[/.Q_VWG_Y]5-G\.7X_9?/?Y1A
M,IF4:3 F,I-6]D4,I1(B>N<V.WBIY-=6K_,9+YW33XUZ'TC$QOS-3(S2TXB^
MV1D)KD]L*]$P9#%5<$XG,! QX;68R#'C)]9.XS7W5%);[;O>:KA7(?.8!MLJ
M5^N55J->Z2.D:S0^Y8:2)>#@D!<?S\Z:@\\@1M#K=D_;[@ (#Z!S.G#;P]X
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
M.WHGF-(7,H.I<?8>Q +^L <Z+$H)I$Q0<I(B(55 @O42L#["F,@X17M9'ZJ
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
MJGW8UQ[OWQVW6LVNE@CA6_/F=@\ 0<^$3,%MVA<0"6G0,RJ9"('RD/$E#&E
M4Q_S;;L6:,U80'*(6(**NP]H3H-",L4P#<)#&&V"F/ EU9),69[KX/%76X8$
MQ1M323'JQY&5N=2!8>@67- 5XW#I((KD:YHD*..8T0CA\3C%5A0F4<0"C W!
M-%:5G@6XIEB$'[("%4RX B7@4<56A)J*U>F04&0*$WIL7AOI*JGPYT3ZA-/<
MGFP2N@4O,.3K*K%PGRA+^VE#G^9F*]W"=R[6R!62H9GQ:8(9='8HA1UKJ/I@
M)S12G?:'3*$"+DZ'-4 F<J:S[! _%PEVS^X#Y.!SB?H$PFX?.BV-LN\>]!J(
MU-?Y5I48%4FRQ8I-LT27PGUY2/IGP21-43BYIN6!_WV"12C!/=H/#^Y9?BBF
M^T*JJ'9/VH==0^3.DOK?\=AZQ"/C*,+4C"XM?$48QZIDI71JD@F3R'(F::[Y
MM/0V21) -Q0NZA\W,FKTK[TBQG$\ZG4$#$V0AD"T*A)#JD#!E]/RF8Z<7;E2
M=*-LQD.,KV-_;#O'F7J2?+GT#_KBSHZ]LPE.DLK!%S*DTO:%4B+MN-D&;Q4)
M"^%=T_SL]:LJ>_FWD3=>MJ=7K>MH]=G]'8)^<=(.&*]TSAV0KH@,8F@=F6EP
M^%]^>3]P?*:S%U^WMK0CDK)DVWEV"%J.^Q[D.-Y1;P*O<*B:I)0#PT:&[4A1
MCD"H,=W%ZHYF;J6/!H6EFYE "4D(15 84U+@.U<XFA7.4QPW03T2S&OML&8Y
M+>>0GKI:A3H:H@I)S6P!DF44[Z.F&VPS/%JW"M-CJ_Y $PQ$"LX"6%%9#MU7
M$XAQZOD4ES(I5BQ$N&IT5=HW/6+-L*I]W;^K3H39/K>)"LE9'C\ _)V[@ 2&
MDP"CB2(H,ES1?.+,='J-<?^)4!KZ;HV/ZJ;=*/\S^ M02P,$%     @ )5]Z
M6#!$SRP[!   "@P   \   !U=&UD7V5X,S)Z,BYH=&W-5VUOXC@0_GZ_8DXK
M;5LI"6_MJ@46*1#8LFT! =W;]G0?G,0!ZQ+;ZSBE_/L;FT!IJSM=N;W5(D3B
M>/QXYLD\,Z9].;^Y[OS2_M5U8:)$7$0TAG -_>"3/\T+IBGD(M$KHJ@#?OQ
MN#'HB4P6FBH8<BX>B&:"YPX.(L_!.;E6;+'4<-P[@7JU>N[6J_4&_#Z9?+VZ
M& 77C<_WOWT)IO<7G^_O_O!@M5IY-%X097?S(I&!ZZ)'EWT_P$NEO';'P1U>
M@N&73GL")&4+_G&S3:[7*?UXE BNF[6JU#!G&<UA1%<P%1GAK8RH!>/-ZE'G
M/0]SV3KLM]WM]!^7+&0:&G6OWJYT.^W*!%W:>A-1;BAY@SL(V>M/Y\/!L.?/
MA^,13&ZGLUM_-(?Y^#OAU\[AUIMY/0]F_9[=H]8XJSK?"=V?@1^,)_-^\#^X
MOG7XHOH!Q@.87_9AYD^[_J@_<\=?K_MWX/?F9@9S[-GK>'-"'+!PR"$2G-/(
MY#ZLF%Z"7E+P.2]("E,JA=(@$KC59 DW-&81/MX(3)=2@6.SXOV[\WJ]VC**
M(GQM1[76"2#H0*@,:E7W"A*A++JDBHD8*(\97T! (YJ%2&NCYH"1F ,DAX2E
M*-"=0S,:%8IIAF$0'D/_,5H2OJ!&P1G+<^,\?HUE3%#K2ZHH>KWOV2:6K6/H
MN@-=Q0B':P^NA)#(BX.1,1XQB3$.&,<:P?!NG"0L0O<0S\"5$3J SS1+\$86
MJ'G"-6@!>WE:<FKSU$1$8B$UQK1OOC4RN5'BSX@*":>Y.WY,Z1K\R/)O<L/!
M>:(=L\X8AC2W4]D:_N1BA70A'X:<D*:,)LT?ET;EC9O21#<;'Z3&O+_J!EL
M*7)FHFR2,!<IUMO6$V3OTP;U&83;./7J!N6X=M*N(%+'Q%LF8U*DZ1J3-I.I
MR89=ABCZK6"*9BC1W-#RQ/\QP3Q44#L[CD]V+#_ETRZ72JIK%XW3EB7R8%7]
M=#S6]WAD''68V69GM*\)XYB5;*.>+<F$*619*IH;/ATS3=(4<!EJ%T6!$Y+:
M$F!6)3NQ(&!LG;0$HE616E(%:G[37U_HR/O1)/^'A>W!&!M#N2 4*J;*#876
M(FO6Y",>,%(6P[NJ_1QU8+_KEH-*7GE5==H5 WM(U7^-]&:(?RAX!Z#=$!4M
MH7YFZ_CI3_1.7\CCU<LTEFY",I:NFR\V0<MAQX<<^S_*1.!9#8E*-UG,L/Y@
M%=&4(Q!*PQ2?;2&RQ\^]^NZ8&B0P\Q7$(BJL*2EPS#4V58V=$+M$M*WD=KA=
ML&(YW;0/TR^->(PW1!>*VI8 1$J*!T\KXK7$K8W";6DL94U3=$0)SB)XH&K3
M+O\V@"4VJY#B(ZG$ XL1KNPXI62MM%<,RT%HRFY90##:ES9)H3C+ET\ _Z:+
M*V!8P-&;)(%"XA/#)[8ZKUT9=IYII6(.T7@IC]25S5^ OP!02P$"% ,4
M"  E7WI8_>WP[ NP 0"POP\ $0              @ $     =71M9"TR,#(S
M,3(S,2YH=&U02P$"% ,4    "  E7WI8\A!*1+P5  !F#0$ $0
M    @ $ZL $ =71M9"TR,#(S,3(S,2YX<V102P$"% ,4    "  E7WI8:;SL
M/),/   ,[0  %0              @ $EQ@$ =71M9"TR,#(S,3(S,5]C86PN
M>&UL4$L! A0#%     @ )5]Z6/\CE@ME&   \)P! !4              ( !
MZ]4! '5T;60M,C R,S$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( "5?>ECG\1'!
MD5(  /4?!  5              "  8/N 0!U=&UD+3(P,C,Q,C,Q7VQA8BYX
M;6Q02P$"% ,4    "  E7WI8F''WF?PU  #Q\ , %0              @ %'
M00( =71M9"TR,#(S,3(S,5]P<F4N>&UL4$L! A0#%     @ )5]Z6*H$\!-6
M/0  B4    T              ( !=G<" '5T;60Q,&M?,2YJ<&=02P$"% ,4
M    "  E7WI8YW,7<"H%  "!(@  #P              @ 'WM ( =71M9%]E
M>#$P>C4N:'1M4$L! A0#%     @ )5]Z6-*+I<;5 @  $A0   T
M     ( !3KH" '5T;61?97@R,2YH=&U02P$"% ,4    "  E7WI8&W!O_8T"
M  !"!@  #P              @ %.O0( =71M9%]E>#(S>C$N:'1M4$L! A0#
M%     @ )5]Z6"&FK:_' @  N@<   \              ( !", " '5T;61?
M97@R,WHR+FAT;5!+ 0(4 Q0    ( "5?>E@8]("Z\@8  )L;   /
M      "  ?S" @!U=&UD7V5X,S%Z,2YH=&U02P$"% ,4    "  E7WI8SK&Z
MRO<&  ")&P  #P              @ $;R@( =71M9%]E>#,Q>C(N:'1M4$L!
M A0#%     @ )5]Z6.?&I0I4!   (0P   \              ( !/]$" '5T
M;61?97@S,GHQ+FAT;5!+ 0(4 Q0    ( "5?>E@P1,\L.P0   H,   /
M          "  <#5 @!U=&UD7V5X,S)Z,BYH=&U02P4&      \ #P"K P
&*-H"

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>127
<FILENAME>utmd-20231231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:fil="http://www.utahmed.com/20231231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="utmd-20231231.xsd" xlink:type="simple"/>
    <context id="Y23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="I240325">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2024-03-25</instant>
        </period>
    </context>
    <context id="D231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-12-31</startDate>
            <endDate>2023-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="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="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="E21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </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="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="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="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="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>
            <instant>2023-12-31</instant>
        </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="Y23Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="Y23Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="Y23Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </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="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </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="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23_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>2023-01-01</startDate>
            <endDate>2023-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="Y23" id="fact1">0000706698</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="Y23" id="fact2">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y23" id="fact3">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y23" id="fact4">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="E23" id="fact5">http://fasb.org/us-gaap/2023#FiniteLivedIntangibleAssetsGross</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="E22" id="fact6">http://fasb.org/us-gaap/2023#FiniteLivedIntangibleAssetsGross</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="E23" id="fact7">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType contextRef="Y23" id="ixv-10348">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="Y23" id="ixv-10349">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="Y23" id="ixv-10350">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="Y23" id="ixv-10351">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="Y23" id="ixv-10352">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="Y23" id="ixv-10353">001-12575</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="Y23" id="ixv-10354">UTAH MEDICAL PRODUCTS INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Y23" id="ixv-10355">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y23" id="ixv-10356">87-0342734</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y23" id="ixv-10357">7043 South 300 West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y23" id="ixv-10358">Midvale</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y23" id="ixv-10359">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y23" id="ixv-10360">84047</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y23" id="ixv-10361">801</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y23" id="ixv-10362">566-1200</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y23" id="ixv-10363">Common stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y23" id="ixv-10364">UTMD</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Y23" id="ixv-10365">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="Y23" id="ixv-10366">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="Y23" id="ixv-10367">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="Y23" id="ixv-10368">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="Y23" id="ixv-10369">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y23" id="ixv-10370">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y23" id="ixv-10371">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y23" id="ixv-10372">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="Y23" id="ixv-10373">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="Y23" id="ixv-10374">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="Y23" id="ixv-10375">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="E23Q2"
      decimals="INF"
      id="ixv-10376"
      unitRef="USD">313392922</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="I240325"
      decimals="INF"
      id="ixv-10377"
      unitRef="Shares">3589014</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="Y23" id="ixv-10378">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="Y23" id="ixv-10379">Haynie &amp;amp; Company</dei:AuditorName>
    <dei:AuditorLocation contextRef="Y23" id="ixv-10380">Salt Lake City, Utah</dei:AuditorLocation>
    <dei:AuditorFirmId contextRef="Y23" id="ixv-10381">457</dei:AuditorFirmId>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E23" decimals="-3" id="ixv-10382" unitRef="USD">92868000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E22" decimals="-3" id="ixv-10383" unitRef="USD">75052000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E23" decimals="-3" id="ixv-10384" unitRef="USD">3391000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E22" decimals="-3" id="ixv-10385" unitRef="USD">5538000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="E23" decimals="-3" id="ixv-10386" unitRef="USD">9582000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E22" decimals="-3" id="ixv-10387" unitRef="USD">8814000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="E23" decimals="-3" id="ixv-10388" unitRef="USD">428000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E22" decimals="-3" id="ixv-10389" unitRef="USD">515000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E23" decimals="-3" id="ixv-10390" unitRef="USD">106269000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E22" decimals="-3" id="ixv-10391" unitRef="USD">89919000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="-3" id="ixv-10392" unitRef="USD">10551000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="-3" id="ixv-10393" unitRef="USD">10224000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill contextRef="E23" decimals="-3" id="ixv-10394" unitRef="USD">13692000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E22" decimals="-3" id="ixv-10395" unitRef="USD">13354000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E23" decimals="-3" id="ixv-10396" unitRef="USD">54296000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E22" decimals="-3" id="ixv-10397" unitRef="USD">52755000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E23" decimals="-3" id="ixv-10398" unitRef="USD">49350000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E22" decimals="-3" id="ixv-10399" unitRef="USD">42378000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E23" decimals="-3" id="ixv-10400" unitRef="USD">4946000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E22" decimals="-3" id="ixv-10401" unitRef="USD">10377000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Assets contextRef="E23" decimals="-3" id="ixv-10402" unitRef="USD">135458000</us-gaap:Assets>
    <us-gaap:Assets contextRef="E22" decimals="-3" id="ixv-10403" unitRef="USD">123874000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E23" decimals="-3" id="ixv-10404" unitRef="USD">769000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E22" decimals="-3" id="ixv-10405" unitRef="USD">1218000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-10406" unitRef="USD">3941000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="-3" id="ixv-10407" unitRef="USD">4742000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-10408" unitRef="USD">4710000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E22" decimals="-3" id="ixv-10409" unitRef="USD">5960000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E23" decimals="-3" id="ixv-10410" unitRef="USD">295000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E22" decimals="-3" id="ixv-10411" unitRef="USD">341000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent contextRef="E23" decimals="-3" id="ixv-10412" unitRef="USD">698000</us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent>
    <us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent contextRef="E22" decimals="-3" id="ixv-10413" unitRef="USD">1256000</us-gaap:TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsLiabilityNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E23" decimals="-3" id="ixv-10414" unitRef="USD">1120000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E22" decimals="-3" id="ixv-10415" unitRef="USD">1514000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E23" decimals="-3" id="ixv-10416" unitRef="USD">322000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E22" decimals="-3" id="ixv-10417" unitRef="USD">549000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities contextRef="E23" decimals="-3" id="ixv-10418" unitRef="USD">7145000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E22" decimals="-3" id="ixv-10419" unitRef="USD">9620000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies contextRef="E23" decimals="-3" id="ixv-10420" unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies contextRef="E22" decimals="-3" id="ixv-10421" unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E23"
      decimals="INF"
      id="ixv-10422"
      unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E22"
      decimals="INF"
      id="ixv-10423"
      unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E23"
      decimals="-3"
      id="ixv-10424"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E22"
      decimals="-3"
      id="ixv-10425"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="E23"
      decimals="-3"
      id="ixv-10426"
      unitRef="Shares">3630000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E23"
      decimals="-3"
      id="ixv-10427"
      unitRef="Shares">3630000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="E22"
      decimals="-3"
      id="ixv-10428"
      unitRef="Shares">3628000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E22"
      decimals="-3"
      id="ixv-10429"
      unitRef="Shares">3628000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="E23" decimals="-3" id="ixv-10430" unitRef="USD">36000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="E22" decimals="-3" id="ixv-10431" unitRef="USD">36000</us-gaap:CommonStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E23" decimals="-3" id="ixv-10432" unitRef="USD">-10658000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E22" decimals="-3" id="ixv-10433" unitRef="USD">-12039000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E23" decimals="-3" id="ixv-10434" unitRef="USD">594000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E22" decimals="-3" id="ixv-10435" unitRef="USD">251000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E23" decimals="-3" id="ixv-10436" unitRef="USD">138341000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E22" decimals="-3" id="ixv-10437" unitRef="USD">126006000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="E23" decimals="-3" id="ixv-10438" unitRef="USD">128313000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E22" decimals="-3" id="ixv-10439" unitRef="USD">114254000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E23" decimals="-3" id="ixv-10440" unitRef="USD">135458000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E22" decimals="-3" id="ixv-10441" unitRef="USD">123874000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23" decimals="-3" id="ixv-10442" unitRef="USD">50224000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="-3" id="ixv-10443" unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y21" decimals="-3" id="ixv-10444" unitRef="USD">49054000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y23" decimals="-3" id="ixv-10445" unitRef="USD">20186000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y22" decimals="-3" id="ixv-10446" unitRef="USD">20085000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y21" decimals="-3" id="ixv-10447" unitRef="USD">18137000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="Y23" decimals="-3" id="ixv-10448" unitRef="USD">30038000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22" decimals="-3" id="ixv-10449" unitRef="USD">32196000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y21" decimals="-3" id="ixv-10450" unitRef="USD">30917000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense contextRef="Y23" decimals="-3" id="ixv-10451" unitRef="USD">1685000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="Y22" decimals="-3" id="ixv-10452" unitRef="USD">1507000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="Y21" decimals="-3" id="ixv-10453" unitRef="USD">1414000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y23" decimals="-3" id="ixv-10454" unitRef="USD">560000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y22" decimals="-3" id="ixv-10455" unitRef="USD">493000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y21" decimals="-3" id="ixv-10456" unitRef="USD">526000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y23" decimals="-3" id="ixv-10457" unitRef="USD">11016000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y22" decimals="-3" id="ixv-10458" unitRef="USD">10406000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y21" decimals="-3" id="ixv-10459" unitRef="USD">10097000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="Y23" decimals="-3" id="ixv-10460" unitRef="USD">16777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y22" decimals="-3" id="ixv-10461" unitRef="USD">19790000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y21" decimals="-3" id="ixv-10462" unitRef="USD">18880000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y23" decimals="-3" id="ixv-10463" unitRef="USD">3036000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y22" decimals="-3" id="ixv-10464" unitRef="USD">661000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y21" decimals="-3" id="ixv-10465" unitRef="USD">166000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y23" decimals="-3" id="ixv-10466" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y22" decimals="-3" id="ixv-10467" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y21" decimals="-3" id="ixv-10468" unitRef="USD">15000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y23" decimals="-3" id="ixv-10469" unitRef="USD">256000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="-3" id="ixv-10470" unitRef="USD">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y21" decimals="-3" id="ixv-10471" unitRef="USD">0</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y23" decimals="-3" id="ixv-10472" unitRef="USD">20089000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y22" decimals="-3" id="ixv-10473" unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y21" decimals="-3" id="ixv-10474" unitRef="USD">19061000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-10475" unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-10476" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" id="ixv-10477" unitRef="USD">4273000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-10478" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-10479" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" id="ixv-10480" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y23"
      decimals="INF"
      id="ixv-10481"
      unitRef="UsdPerShare">4.58</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y22"
      decimals="INF"
      id="ixv-10482"
      unitRef="UsdPerShare">4.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y21"
      decimals="INF"
      id="ixv-10483"
      unitRef="UsdPerShare">4.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23"
      decimals="INF"
      id="ixv-10484"
      unitRef="UsdPerShare">4.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22"
      decimals="INF"
      id="ixv-10485"
      unitRef="UsdPerShare">4.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y21"
      decimals="INF"
      id="ixv-10486"
      unitRef="UsdPerShare">4.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y23"
      decimals="INF"
      id="ixv-10487"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y22"
      decimals="INF"
      id="ixv-10488"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y21"
      decimals="INF"
      id="ixv-10489"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y23" decimals="-3" id="ixv-10490" unitRef="USD">1381000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y22" decimals="-3" id="ixv-10491" unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y21" decimals="-3" id="ixv-10492" unitRef="USD">-773000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y23" decimals="-3" id="ixv-10493" unitRef="USD">18016000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y22" decimals="-3" id="ixv-10494" unitRef="USD">13487000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y21" decimals="-3" id="ixv-10495" unitRef="USD">14015000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-10496" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-10497" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" id="ixv-10498" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation contextRef="Y23" decimals="-3" id="ixv-10499" unitRef="USD">623000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y22" decimals="-3" id="ixv-10500" unitRef="USD">612000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y21" decimals="-3" id="ixv-10501" unitRef="USD">636000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y23" decimals="-3" id="ixv-10502" unitRef="USD">5692000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y22" decimals="-3" id="ixv-10503" unitRef="USD">6417000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y21" decimals="-3" id="ixv-10504" unitRef="USD">6645000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y23" decimals="-3" id="ixv-10505" unitRef="USD">-33000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y22" decimals="-3" id="ixv-10506" unitRef="USD">30000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y21" decimals="-3" id="ixv-10507" unitRef="USD">24000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y23" decimals="-3" id="ixv-10508" unitRef="USD">53000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y22" decimals="-3" id="ixv-10509" unitRef="USD">53000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y21" decimals="-3" id="ixv-10510" unitRef="USD">3000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-10511" unitRef="USD">-693000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-10512" unitRef="USD">-401000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" id="ixv-10513" unitRef="USD">-92000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation contextRef="Y23" decimals="-3" id="ixv-10514" unitRef="USD">225000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="Y22" decimals="-3" id="ixv-10515" unitRef="USD">183000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="Y21" decimals="-3" id="ixv-10516" unitRef="USD">166000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y23" decimals="-3" id="ixv-10517" unitRef="USD">12000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y22" decimals="-3" id="ixv-10518" unitRef="USD">6000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y21" decimals="-3" id="ixv-10519" unitRef="USD">39000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y23" decimals="-3" id="ixv-10520" unitRef="USD">-2270000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y22" decimals="-3" id="ixv-10521" unitRef="USD">511000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y21" decimals="-3" id="ixv-10522" unitRef="USD">1088000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y23" decimals="-3" id="ixv-10523" unitRef="USD">0</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y22" decimals="-3" id="ixv-10524" unitRef="USD">14000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y21" decimals="-3" id="ixv-10525" unitRef="USD">42000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y23" decimals="-3" id="ixv-10526" unitRef="USD">670000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y22" decimals="-3" id="ixv-10527" unitRef="USD">2353000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y21" decimals="-3" id="ixv-10528" unitRef="USD">485000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y23" decimals="-3" id="ixv-10529" unitRef="USD">-45000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y22" decimals="-3" id="ixv-10530" unitRef="USD">64000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y21" decimals="-3" id="ixv-10531" unitRef="USD">81000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y23" decimals="-3" id="ixv-10532" unitRef="USD">-456000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y22" decimals="-3" id="ixv-10533" unitRef="USD">464000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y21" decimals="-3" id="ixv-10534" unitRef="USD">-23000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y23" decimals="-3" id="ixv-10535" unitRef="USD">-1422000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y22" decimals="-3" id="ixv-10536" unitRef="USD">252000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y21" decimals="-3" id="ixv-10537" unitRef="USD">713000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y23" decimals="-3" id="ixv-10538" unitRef="USD">22281000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y22" decimals="-3" id="ixv-10539" unitRef="USD">21147000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y21" decimals="-3" id="ixv-10540" unitRef="USD">21203000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y23" decimals="-3" id="ixv-10541" unitRef="USD">639000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y22" decimals="-3" id="ixv-10542" unitRef="USD">809000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y21" decimals="-3" id="ixv-10543" unitRef="USD">552000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y23" decimals="-3" id="ixv-10544" unitRef="USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y22" decimals="-3" id="ixv-10545" unitRef="USD">9000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y21" decimals="-3" id="ixv-10546" unitRef="USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y23" decimals="-3" id="ixv-10547" unitRef="USD">-639000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y22" decimals="-3" id="ixv-10548" unitRef="USD">-818000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y21" decimals="-3" id="ixv-10549" unitRef="USD">-552000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y23" decimals="-3" id="ixv-10550" unitRef="USD">117000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y22" decimals="-3" id="ixv-10551" unitRef="USD">174000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y21" decimals="-3" id="ixv-10552" unitRef="USD">560000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y23" decimals="-3" id="ixv-10553" unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y22" decimals="-3" id="ixv-10554" unitRef="USD">2495000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y21" decimals="-3" id="ixv-10555" unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividends contextRef="Y23" decimals="-3" id="ixv-10556" unitRef="USD">4282000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="Y22" decimals="-3" id="ixv-10557" unitRef="USD">3163000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="Y21" decimals="-3" id="ixv-10558" unitRef="USD">11465000</us-gaap:PaymentsOfDividends>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y23" decimals="-3" id="ixv-10559" unitRef="USD">-4165000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y22" decimals="-3" id="ixv-10560" unitRef="USD">-5484000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y21" decimals="-3" id="ixv-10561" unitRef="USD">-10905000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y23" decimals="-3" id="ixv-10562" unitRef="USD">339000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y22" decimals="-3" id="ixv-10563" unitRef="USD">-767000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y21" decimals="-3" id="ixv-10564" unitRef="USD">-362000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y23" decimals="-3" id="ixv-10565" unitRef="USD">17816000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y22" decimals="-3" id="ixv-10566" unitRef="USD">14078000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y21" decimals="-3" id="ixv-10567" unitRef="USD">9384000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E22" decimals="-3" id="ixv-10568" unitRef="USD">75052000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E21" decimals="-3" id="ixv-10569" unitRef="USD">60974000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E20" decimals="-3" id="ixv-10570" unitRef="USD">51590000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E23" decimals="-3" id="ixv-10571" unitRef="USD">92868000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E22" decimals="-3" id="ixv-10572" unitRef="USD">75052000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E21" decimals="-3" id="ixv-10573" unitRef="USD">60974000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaid contextRef="Y23" decimals="-3" id="ixv-10574" unitRef="USD">4827000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="Y22" decimals="-3" id="ixv-10575" unitRef="USD">4970000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="Y21" decimals="-3" id="ixv-10576" unitRef="USD">4617000</us-gaap:IncomeTaxesPaid>
    <us-gaap:InterestPaid contextRef="Y23" decimals="-3" id="ixv-10577" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:InterestPaid contextRef="Y22" decimals="-3" id="ixv-10578" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:InterestPaid contextRef="Y21" decimals="-3" id="ixv-10579" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:SharesOutstanding
      contextRef="E20_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10580"
      unitRef="Shares">3643000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10581"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10582"
      unitRef="USD">115000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10583"
      unitRef="USD">-8280000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E20_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10584"
      unitRef="USD">110951000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E20" decimals="-3" id="ixv-10585" unitRef="USD">102822000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10586"
      unitRef="Shares">14000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10587"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10588"
      unitRef="USD">787000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10589"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10590"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y21" decimals="-3" id="ixv-10591" unitRef="USD">787000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10592"
      unitRef="Shares">-2000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10593"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10594"
      unitRef="USD">-227000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10595"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10596"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions contextRef="Y21" decimals="-3" id="ixv-10597" unitRef="USD">-227000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10598"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10599"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10600"
      unitRef="USD">166000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10601"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10602"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y21" decimals="-3" id="ixv-10603" unitRef="USD">166000</us-gaap:StockOptionPlanExpense>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10604"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10605"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10606"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10607"
      unitRef="USD">-773000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10608"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y21" decimals="-3" id="ixv-10609" unitRef="USD">-773000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10610"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10611"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10612"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10613"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10614"
      unitRef="USD">10425000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y21" decimals="-3" id="ixv-10615" unitRef="USD">10425000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10616"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10617"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10618"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10619"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10620"
      unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" id="ixv-10621" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10622"
      unitRef="Shares">3655000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10623"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10624"
      unitRef="USD">842000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10625"
      unitRef="USD">-9053000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10626"
      unitRef="USD">115314000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E21" decimals="-3" id="ixv-10627" unitRef="USD">107138000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10628"
      unitRef="Shares">4000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10629"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10630"
      unitRef="USD">211000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10631"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10632"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y22" decimals="-3" id="ixv-10633" unitRef="USD">211000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10634"
      unitRef="Shares">-1000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10635"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10636"
      unitRef="USD">-37000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10637"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10638"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions contextRef="Y22" decimals="-3" id="ixv-10639" unitRef="USD">-37000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10640"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10641"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10642"
      unitRef="USD">183000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10643"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10644"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y22" decimals="-3" id="ixv-10645" unitRef="USD">183000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10646"
      unitRef="Shares">-30000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10647"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10648"
      unitRef="USD">-947000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10649"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10650"
      unitRef="USD">-1548000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y22" decimals="-3" id="ixv-10651" unitRef="USD">-2495000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10652"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10653"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10654"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10655"
      unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10656"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y22" decimals="-3" id="ixv-10657" unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10658"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10659"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10660"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10661"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10662"
      unitRef="USD">4233000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y22" decimals="-3" id="ixv-10663" unitRef="USD">4233000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10664"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10665"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10666"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10667"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10668"
      unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-10669" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10670"
      unitRef="Shares">3628000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10671"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10672"
      unitRef="USD">252000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10673"
      unitRef="USD">-12039000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10674"
      unitRef="USD">126006000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E22" decimals="-3" id="ixv-10675" unitRef="USD">114255000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10676"
      unitRef="Shares">2000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10677"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10678"
      unitRef="USD">117000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10679"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10680"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y23" decimals="-3" id="ixv-10681" unitRef="USD">117000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10682"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10683"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10684"
      unitRef="USD">225000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10685"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10686"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y23" decimals="-3" id="ixv-10687" unitRef="USD">225000</us-gaap:StockOptionPlanExpense>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10688"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10689"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10690"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10691"
      unitRef="USD">1381000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10692"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y23" decimals="-3" id="ixv-10693" unitRef="USD">1381000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10694"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10695"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10696"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10697"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10698"
      unitRef="USD">4300000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y23" decimals="-3" id="ixv-10699" unitRef="USD">4300000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10700"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10701"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10702"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10703"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10704"
      unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-10705" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10706"
      unitRef="Shares">3630000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10707"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-10708"
      unitRef="USD">594000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-10709"
      unitRef="USD">-10658000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-10710"
      unitRef="USD">138341000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E23" decimals="-3" id="ixv-10711" unitRef="USD">128313000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="Y23" id="ixv-5329">&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 Ltd 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 120 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&#160;31, 2023 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, 2023, using the 2023 year-end 1.2739 USD/GBP and 0.6825 USD/AUD currency exchange rates, is about $1,931 in 2024, $1,931 in 2025, $422 in 2026, $10 in 2027, and $8 in 2028 (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;This intangible asset was fully amortized 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, 2023, 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, &lt;i&gt;Share-Based Payment&lt;/i&gt;. &#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 2023, the Company recognized $225 in stock-based compensation cost compared to $183 in 2022 and $166 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: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 2023, 2022 or 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;&#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, 2023 and 2022 was  $257 and $204, 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&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;2023&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;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;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;2021&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,629&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,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;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,647&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;8&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;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;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;13&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,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;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;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,660&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 2023 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="Y23" id="ixv-5338">&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="Y23" id="ixv-5344">&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="Y23" id="ixv-5351">&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="Y23" id="ixv-5358">&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&#160;31, 2023 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="Y23" id="ixv-5378">&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="Y23" id="ixv-5385">&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="Y23" id="ixv-5392">&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="E23_Range-Minimum_PpeByType-BuildingAndBuildingImprovements"
      id="ixv-10712">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-BuildingAndBuildingImprovements"
      id="ixv-10713">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Minimum_PpeByType-Equipment"
      id="ixv-10714">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E23_Range-Maximum_PpeByType-Equipment"
      id="ixv-10715">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="Y23" id="ixv-5414">&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="Y23" id="ixv-5421">&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, 2023, using the 2023 year-end 1.2739 USD/GBP and 0.6825 USD/AUD currency exchange rates, is about $1,931 in 2024, $1,931 in 2025, $422 in 2026, $10 in 2027, and $8 in 2028 (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;This intangible asset was fully amortized in 2023 (see note 15).&lt;/p&gt;
</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="E23_Range-Minimum" id="ixv-10716">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="E23_Range-Maximum" id="ixv-10717">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD
      contextRef="E23"
      decimals="INF"
      id="ixv-10718"
      unitRef="Pure">1.2739</fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD>
    <fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD
      contextRef="E23"
      decimals="INF"
      id="ixv-10719"
      unitRef="Pure">0.6825</fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="E23" decimals="-3" id="ixv-10720" unitRef="USD">1931000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="E23" decimals="-3" id="ixv-10721" unitRef="USD">1931000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="E23" decimals="-3" id="ixv-10722" unitRef="USD">422000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="E23" decimals="-3" id="ixv-10723" unitRef="USD">10000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="E23" decimals="-3" id="ixv-10724" unitRef="USD">8000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      id="ixv-10725"
      unitRef="USD">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="Y23" id="ixv-5438">&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, 2023, 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, &lt;i&gt;Share-Based Payment&lt;/i&gt;. &#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 2023, the Company recognized $225 in stock-based compensation cost compared to $183 in 2022 and $166 in 2021.&lt;/p&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y23" decimals="-3" id="ixv-10726" unitRef="USD">225000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y22" decimals="-3" id="ixv-10727" unitRef="USD">183000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y21" decimals="-3" id="ixv-10728" unitRef="USD">166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="Y23" id="ixv-5446">&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="Y23" id="ixv-5453">&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 2023, 2022 or 2021.&lt;/p&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LegalCostsPolicyTextBlock contextRef="Y23" id="ixv-5468">&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, 2023 and 2022 was  $257 and $204, respectively (see note 2).&lt;/p&gt;
</us-gaap:LegalCostsPolicyTextBlock>
    <us-gaap:LitigationReserve contextRef="E23" decimals="-3" id="ixv-10729" unitRef="USD">257000</us-gaap:LitigationReserve>
    <us-gaap:LitigationReserve contextRef="E22" decimals="-3" id="ixv-10730" unitRef="USD">204000</us-gaap:LitigationReserve>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="Y23" id="ixv-5475">&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&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;2023&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;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;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;2021&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,629&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,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;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,647&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;8&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;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;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;13&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,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;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;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,660&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="Y23" id="ixv-5484">&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&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;2023&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;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;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;2021&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,629&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,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;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,647&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;8&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;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;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;13&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,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;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;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,660&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y23"
      decimals="-3"
      id="ixv-10731"
      unitRef="Shares">3629000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y22"
      decimals="-3"
      id="ixv-10732"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y21"
      decimals="-3"
      id="ixv-10733"
      unitRef="Shares">3647000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y23"
      decimals="-3"
      id="ixv-10734"
      unitRef="Shares">8000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y22"
      decimals="-3"
      id="ixv-10735"
      unitRef="Shares">6000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y21"
      decimals="-3"
      id="ixv-10736"
      unitRef="Shares">13000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y23"
      decimals="-3"
      id="ixv-10737"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y22"
      decimals="-3"
      id="ixv-10738"
      unitRef="Shares">3643000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y21"
      decimals="-3"
      id="ixv-10739"
      unitRef="Shares">3660000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <fil:PresentationOfSalesAndSimilarTaxesTextBlock contextRef="Y23" id="ixv-5540">&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 2023 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="Y23" id="ixv-5547">&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="Y23" id="ixv-5562">&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&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;2023&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;2022&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;&lt;/kbd&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;3,488&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,720&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;&lt;/kbd&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;53&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;51&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;&lt;/kbd&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;(151)&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;(182)&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;&lt;/kbd&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;3,390&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,589&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
 &lt;p style="font:11pt Times New Roman;margin:0"&gt;&lt;/p&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;/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;&lt;/kbd&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,685&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,896&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;&lt;/kbd&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,503&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,193&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;&lt;/kbd&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;6,394&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;5,725&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;&lt;/kbd&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;9,582&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;8,814&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:801.35pt" 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&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" 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;13,354&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,098&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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;338&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;(744)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"&gt;&lt;/kbd&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,692&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;13,354&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:11pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:801.35pt" 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:82.8pt" valign="top"&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:82.8pt" valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,209&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;127&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,360&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,108&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" 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:82.8pt" 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:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;342&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:82.8pt" 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="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,150&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:82.8pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"&gt;&lt;/kbd&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:82.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54,296&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:82.8pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(49,350)&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:82.8pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"&gt;&lt;/kbd&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:82.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;4,946&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:82.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;10,377&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
 &lt;p style="font:11pt Times New Roman;margin:0"&gt;&lt;/p&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&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;/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;&lt;/kbd&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;327&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;337&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;&lt;/kbd&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,294&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,318&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;&lt;/kbd&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;257&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;204&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;&lt;/kbd&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,063&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;2,883&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;&lt;/kbd&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;3,941&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;4,742&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="Y23" id="ixv-5566">&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&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;2023&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;2022&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;&lt;/kbd&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;3,488&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,720&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;&lt;/kbd&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;53&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;51&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;&lt;/kbd&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;(151)&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;(182)&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;&lt;/kbd&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;3,390&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,589&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="E23" decimals="-3" id="ixv-10740" unitRef="USD">3488000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="E22" decimals="-3" id="ixv-10741" unitRef="USD">5720000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:InterestReceivableAndOtherAssets contextRef="E23" decimals="-3" id="ixv-10742" unitRef="USD">53000</us-gaap:InterestReceivableAndOtherAssets>
    <us-gaap:InterestReceivableAndOtherAssets contextRef="E22" decimals="-3" id="ixv-10743" unitRef="USD">51000</us-gaap:InterestReceivableAndOtherAssets>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E23" decimals="-3" id="ixv-10744" unitRef="USD">151000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E22" decimals="-3" id="ixv-10745" unitRef="USD">182000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="E23" decimals="-3" id="ixv-10746" unitRef="USD">3390000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="E22" decimals="-3" id="ixv-10747" unitRef="USD">5589000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="Y23" id="ixv-5657">&lt;p style="font:11pt Times New Roman;margin:0"&gt;&lt;/p&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;/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;&lt;/kbd&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,685&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,896&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;&lt;/kbd&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,503&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,193&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;&lt;/kbd&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;6,394&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;5,725&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;&lt;/kbd&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;9,582&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;8,814&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E23" decimals="-3" id="ixv-10748" unitRef="USD">1685000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E22" decimals="-3" id="ixv-10749" unitRef="USD">1896000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcess contextRef="E23" decimals="-3" id="ixv-10750" unitRef="USD">1503000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E22" decimals="-3" id="ixv-10751" unitRef="USD">1193000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryRawMaterials contextRef="E23" decimals="-3" id="ixv-10752" unitRef="USD">6394000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E22" decimals="-3" id="ixv-10753" unitRef="USD">5725000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryNet contextRef="E23" decimals="-3" id="ixv-10754" unitRef="USD">9582000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E22" decimals="-3" id="ixv-10755" unitRef="USD">8814000</us-gaap:InventoryNet>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="Y23" id="ixv-5728">&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:801.35pt" 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&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" 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;13,354&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,098&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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;338&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;(744)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"&gt;&lt;/kbd&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,692&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;13,354&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill contextRef="E22" decimals="-3" id="ixv-10756" unitRef="USD">13354000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E21" decimals="-3" id="ixv-10757" unitRef="USD">14098000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="Y23" decimals="-3" id="ixv-10758" unitRef="USD">338000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="Y22" decimals="-3" id="ixv-10759" unitRef="USD">-744000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="Y23" decimals="-3" id="ixv-10760" unitRef="USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="Y22" decimals="-3" id="ixv-10761" unitRef="USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:Goodwill contextRef="E23" decimals="-3" id="ixv-10762" unitRef="USD">13692000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E22" decimals="-3" id="ixv-10763" unitRef="USD">13354000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="Y23" id="ixv-5796">&lt;p style="font:11pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:801.35pt" 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:82.8pt" valign="top"&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:82.8pt" valign="top"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,209&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;127&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,360&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,108&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:82.8pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" 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:82.8pt" 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:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;342&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:82.8pt" 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="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,150&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:82.8pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"&gt;&lt;/kbd&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:82.8pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;54,296&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:82.8pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&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:82.8pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(49,350)&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:82.8pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="width:801.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="margin-left:46.8pt"&gt;&lt;/kbd&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:82.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;4,946&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:82.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;10,377&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross contextRef="E23" decimals="-3" id="ixv-10764" unitRef="USD">2209000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedPatentsGross contextRef="E22" decimals="-3" id="ixv-10765" unitRef="USD">2198000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedNoncompeteAgreementsGross contextRef="E23" decimals="-3" id="ixv-10766" unitRef="USD">127000</us-gaap:FiniteLivedNoncompeteAgreementsGross>
    <us-gaap:FiniteLivedNoncompeteAgreementsGross contextRef="E22" decimals="-3" id="ixv-10767" unitRef="USD">121000</us-gaap:FiniteLivedNoncompeteAgreementsGross>
    <us-gaap:FiniteLivedTrademarksGross contextRef="E23" decimals="-3" id="ixv-10768" unitRef="USD">9360000</us-gaap:FiniteLivedTrademarksGross>
    <us-gaap:FiniteLivedTrademarksGross contextRef="E22" decimals="-3" id="ixv-10769" unitRef="USD">8887000</us-gaap:FiniteLivedTrademarksGross>
    <us-gaap:FiniteLivedCustomerRelationshipsGross contextRef="E23" decimals="-3" id="ixv-10770" unitRef="USD">9108000</us-gaap:FiniteLivedCustomerRelationshipsGross>
    <us-gaap:FiniteLivedCustomerRelationshipsGross contextRef="E22" decimals="-3" id="ixv-10771" unitRef="USD">8635000</us-gaap:FiniteLivedCustomerRelationshipsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross contextRef="E23" decimals="-3" id="ixv-10772" unitRef="USD">21000000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross contextRef="E22" decimals="-3" id="ixv-10773" unitRef="USD">21000000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E23" decimals="-3" id="ixv-10774" unitRef="USD">342000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E22" decimals="-3" id="ixv-10775" unitRef="USD">395000</us-gaap:OperatingLeaseRightOfUseAsset>
    <fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross contextRef="E23" decimals="-3" id="ixv-10776" unitRef="USD">12150000</fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross>
    <fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross contextRef="E22" decimals="-3" id="ixv-10777" unitRef="USD">11519000</fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E23" decimals="-3" id="ixv-10778" unitRef="USD">54296000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E22" decimals="-3" id="ixv-10779" unitRef="USD">52755000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E23" decimals="-3" id="ixv-10780" unitRef="USD">49350000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E22" decimals="-3" id="ixv-10781" unitRef="USD">42378000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="E23" decimals="-3" id="ixv-10782" unitRef="USD">4946000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="E22" decimals="-3" id="ixv-10783" unitRef="USD">10377000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="Y23" id="ixv-5952">&lt;p style="font:11pt Times New Roman;margin:0"&gt;&lt;/p&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&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;/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;&lt;/kbd&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;327&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;337&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;&lt;/kbd&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,294&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,318&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;&lt;/kbd&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;257&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;204&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;&lt;/kbd&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,063&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;2,883&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;&lt;/kbd&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;3,941&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;4,742&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="E23" decimals="-3" id="ixv-10784" unitRef="USD">327000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="E22" decimals="-3" id="ixv-10785" unitRef="USD">337000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-10786" unitRef="USD">1294000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E22" decimals="-3" id="ixv-10787" unitRef="USD">1318000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="E23" decimals="-3" id="ixv-10788" unitRef="USD">257000</us-gaap:LitigationReserveCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="E22" decimals="-3" id="ixv-10789" unitRef="USD">204000</us-gaap:LitigationReserveCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-10790" unitRef="USD">2063000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E22" decimals="-3" id="ixv-10791" unitRef="USD">2883000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-10792" unitRef="USD">3941000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E22" decimals="-3" id="ixv-10793" unitRef="USD">4742000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="Y23" id="ixv-6038">&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:237.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:12.25pt" 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:15.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="10" style="width:425.5pt;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 2023&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:237.6pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:12.25pt" 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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:237.6pt" 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:12.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,520&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,866&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,505&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,333&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:237.6pt" 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:12.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,843&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,739&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,359&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,098&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:237.6pt" 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:12.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,214&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,200&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,935&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,287&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:237.6pt" 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:12.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:15.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:79.2pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.16&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt;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:20.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:15.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:79.2pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.08&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt;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;/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:237.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:12.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:15.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 colspan="10" style="width:425.3pt;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:237.55pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:12.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:15.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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:237.55pt" 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:12.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:15.5pt" 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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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:237.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:12.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:15.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 colspan="10" style="width:425.3pt;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:237.55pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:12.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:15.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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:237.55pt" 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:12.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:15.5pt" 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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="Y23" id="ixv-6041">&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:237.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:12.25pt" 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:15.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="10" style="width:425.5pt;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 2023&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:237.6pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:12.25pt" 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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:20.9pt;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:15.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:79.2pt;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:237.6pt" 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:12.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,520&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,866&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,505&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;12,333&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:237.6pt" 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:12.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,843&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,739&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,359&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,098&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:237.6pt" 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:12.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,214&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,200&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,935&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:20.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:15.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:79.2pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,287&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:237.6pt" 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:12.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:15.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:79.2pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.16&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt;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:20.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:15.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:79.2pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.08&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:20.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:15.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:79.2pt;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;/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:237.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:12.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:15.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 colspan="10" style="width:425.3pt;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:237.55pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:12.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:15.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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:237.55pt" 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:12.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:15.5pt" 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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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:237.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:12.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:15.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 colspan="10" style="width:425.3pt;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:237.55pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:12.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:15.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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.35pt;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:20.6pt;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:15.35pt;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:79.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;Fourth Quarter&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:237.55pt" 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:12.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:15.5pt" 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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.35pt" 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:20.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:15.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:79.4pt" 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:237.55pt" 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:12.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.35pt;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:20.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:15.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:79.4pt;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;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1"
      decimals="-3"
      id="ixv-10794"
      unitRef="USD">12520000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q2"
      decimals="-3"
      id="ixv-10795"
      unitRef="USD">12866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q3"
      decimals="-3"
      id="ixv-10796"
      unitRef="USD">12505000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q4"
      decimals="-3"
      id="ixv-10797"
      unitRef="USD">12333000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Y23Q1"
      decimals="-3"
      id="ixv-10798"
      unitRef="USD">7843000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23Q2"
      decimals="-3"
      id="ixv-10799"
      unitRef="USD">7739000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23Q3"
      decimals="-3"
      id="ixv-10800"
      unitRef="USD">7359000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23Q4"
      decimals="-3"
      id="ixv-10801"
      unitRef="USD">7098000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss
      contextRef="Y23Q1"
      decimals="-3"
      id="ixv-10802"
      unitRef="USD">4214000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23Q2"
      decimals="-3"
      id="ixv-10803"
      unitRef="USD">4200000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23Q3"
      decimals="-3"
      id="ixv-10804"
      unitRef="USD">3935000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23Q4"
      decimals="-3"
      id="ixv-10805"
      unitRef="USD">4287000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q1"
      decimals="INF"
      id="ixv-10806"
      unitRef="UsdPerShare">1.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q2"
      decimals="INF"
      id="ixv-10807"
      unitRef="UsdPerShare">1.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q3"
      decimals="INF"
      id="ixv-10808"
      unitRef="UsdPerShare">1.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q4"
      decimals="INF"
      id="ixv-10809"
      unitRef="UsdPerShare">1.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1"
      decimals="-3"
      id="ixv-10810"
      unitRef="USD">12323000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q2"
      decimals="-3"
      id="ixv-10811"
      unitRef="USD">13428000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q3"
      decimals="-3"
      id="ixv-10812"
      unitRef="USD">12955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q4"
      decimals="-3"
      id="ixv-10813"
      unitRef="USD">13575000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Y22Q1"
      decimals="-3"
      id="ixv-10814"
      unitRef="USD">7533000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22Q2"
      decimals="-3"
      id="ixv-10815"
      unitRef="USD">8151000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22Q3"
      decimals="-3"
      id="ixv-10816"
      unitRef="USD">8186000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22Q4"
      decimals="-3"
      id="ixv-10817"
      unitRef="USD">8327000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss
      contextRef="Y22Q1"
      decimals="-3"
      id="ixv-10818"
      unitRef="USD">3534000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22Q2"
      decimals="-3"
      id="ixv-10819"
      unitRef="USD">4103000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22Q3"
      decimals="-3"
      id="ixv-10820"
      unitRef="USD">4280000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22Q4"
      decimals="-3"
      id="ixv-10821"
      unitRef="USD">4555000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q1"
      decimals="INF"
      id="ixv-10822"
      unitRef="UsdPerShare">0.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q2"
      decimals="INF"
      id="ixv-10823"
      unitRef="UsdPerShare">1.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q3"
      decimals="INF"
      id="ixv-10824"
      unitRef="UsdPerShare">1.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q4"
      decimals="INF"
      id="ixv-10825"
      unitRef="UsdPerShare">1.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21Q1"
      decimals="-3"
      id="ixv-10826"
      unitRef="USD">10964000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21Q2"
      decimals="-3"
      id="ixv-10827"
      unitRef="USD">12604000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21Q3"
      decimals="-3"
      id="ixv-10828"
      unitRef="USD">12572000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21Q4"
      decimals="-3"
      id="ixv-10829"
      unitRef="USD">12914000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Y21Q1"
      decimals="-3"
      id="ixv-10830"
      unitRef="USD">6947000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y21Q2"
      decimals="-3"
      id="ixv-10831"
      unitRef="USD">7785000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y21Q3"
      decimals="-3"
      id="ixv-10832"
      unitRef="USD">8073000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y21Q4"
      decimals="-3"
      id="ixv-10833"
      unitRef="USD">8112000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss
      contextRef="Y21Q1"
      decimals="-3"
      id="ixv-10834"
      unitRef="USD">3024000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21Q2"
      decimals="-3"
      id="ixv-10835"
      unitRef="USD">3426000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21Q3"
      decimals="-3"
      id="ixv-10836"
      unitRef="USD">4206000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y21Q4"
      decimals="-3"
      id="ixv-10837"
      unitRef="USD">4131000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y21Q1"
      decimals="INF"
      id="ixv-10838"
      unitRef="UsdPerShare">0.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y21Q2"
      decimals="INF"
      id="ixv-10839"
      unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y21Q3"
      decimals="INF"
      id="ixv-10840"
      unitRef="UsdPerShare">1.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y21Q4"
      decimals="INF"
      id="ixv-10841"
      unitRef="UsdPerShare">1.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="Y23" id="ixv-6484">&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&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;2023&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;2022&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,638&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,593&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,907&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;13,601&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,315&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;17,068&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;1,413&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;906&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;&lt;/kbd&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;34,273&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,168&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;(23,722)&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,944)&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,551&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,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;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, 2023&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&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;637&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;380&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,638&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,584&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,194&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,129&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,907&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;15,075&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;732&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,508&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,315&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;913&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&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;497&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;1,413&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;&lt;/kbd&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;23,193&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,566&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,514&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;34,273&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,701)&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,464)&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,557)&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;(23,722)&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,492&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,102&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,957&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,551&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, 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&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;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.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,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.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,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.4pt" 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.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,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.4pt" 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.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;-&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;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.4pt;border-bottom:0.5pt solid #000000" 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;&lt;/kbd&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,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.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,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.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,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.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,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.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,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.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,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;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="Y23" id="ixv-6489">&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&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;2023&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;2022&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,638&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,593&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,907&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;13,601&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,315&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;17,068&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;1,413&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;906&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;&lt;/kbd&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;34,273&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,168&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;(23,722)&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,944)&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,551&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,224&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Land contextRef="E23" decimals="-3" id="ixv-10842" unitRef="USD">1638000</us-gaap:Land>
    <us-gaap:Land contextRef="E22" decimals="-3" id="ixv-10843" unitRef="USD">1593000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E23" decimals="-3" id="ixv-10844" unitRef="USD">13907000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="-3" id="ixv-10845" unitRef="USD">13601000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-10846" unitRef="USD">17315000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="-3" id="ixv-10847" unitRef="USD">17068000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross contextRef="E23" decimals="-3" id="ixv-10848" unitRef="USD">1413000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E22" decimals="-3" id="ixv-10849" unitRef="USD">906000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-10850" unitRef="USD">34273000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E22" decimals="-3" id="ixv-10851" unitRef="USD">33168000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E23" decimals="-3" id="ixv-10852" unitRef="USD">23722000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="-3" id="ixv-10853" unitRef="USD">22944000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="-3" id="ixv-10854" unitRef="USD">10551000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="-3" id="ixv-10855" unitRef="USD">10224000</us-gaap:PropertyPlantAndEquipmentNet>
    <fil:PropertyPlantAndEquipmentByLocationTextBlock contextRef="Y23" id="ixv-6605">&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, 2023&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&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;637&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;380&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,638&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,584&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,194&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,129&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,907&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;15,075&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;732&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,508&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,315&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;913&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&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;497&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;1,413&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;&lt;/kbd&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;23,193&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,566&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,514&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;34,273&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,701)&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,464)&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,557)&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;(23,722)&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,492&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,102&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,957&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,551&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, 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&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;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.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,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.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,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.4pt" 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.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,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.4pt" 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.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;-&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;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.4pt;border-bottom:0.5pt solid #000000" 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;&lt;/kbd&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,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.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,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.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,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.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,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.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,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.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,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;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</fil:PropertyPlantAndEquipmentByLocationTextBlock>
    <us-gaap:Land
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10856"
      unitRef="USD">621000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10857"
      unitRef="USD">637000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10858"
      unitRef="USD">380000</us-gaap:Land>
    <us-gaap:Land contextRef="E23" decimals="-3" id="ixv-10859" unitRef="USD">1638000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10860"
      unitRef="USD">6584000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10861"
      unitRef="USD">3194000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10862"
      unitRef="USD">4129000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E23" decimals="-3" id="ixv-10863" unitRef="USD">13907000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10864"
      unitRef="USD">15075000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10865"
      unitRef="USD">732000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10866"
      unitRef="USD">1508000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-10867" unitRef="USD">17315000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10868"
      unitRef="USD">913000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10869"
      unitRef="USD">3000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10870"
      unitRef="USD">497000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E23" decimals="-3" id="ixv-10871" unitRef="USD">1413000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10872"
      unitRef="USD">23193000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10873"
      unitRef="USD">4566000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10874"
      unitRef="USD">6514000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-10875" unitRef="USD">34273000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10876"
      unitRef="USD">18701000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10877"
      unitRef="USD">1464000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10878"
      unitRef="USD">3557000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E23" decimals="-3" id="ixv-10879" unitRef="USD">23722000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10880"
      unitRef="USD">4492000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10881"
      unitRef="USD">3102000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-10882"
      unitRef="USD">2957000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="-3" id="ixv-10883" unitRef="USD">10551000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Land
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10884"
      unitRef="USD">621000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10885"
      unitRef="USD">605000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10886"
      unitRef="USD">367000</us-gaap:Land>
    <us-gaap:Land contextRef="E22" decimals="-3" id="ixv-10887" unitRef="USD">1593000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10888"
      unitRef="USD">6566000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10889"
      unitRef="USD">3043000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10890"
      unitRef="USD">3992000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E22" decimals="-3" id="ixv-10891" unitRef="USD">13601000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10892"
      unitRef="USD">14950000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10893"
      unitRef="USD">693000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10894"
      unitRef="USD">1425000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E22" decimals="-3" id="ixv-10895" unitRef="USD">17068000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10896"
      unitRef="USD">412000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10897"
      unitRef="USD">0</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10898"
      unitRef="USD">494000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E22" decimals="-3" id="ixv-10899" unitRef="USD">906000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10900"
      unitRef="USD">22549000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10901"
      unitRef="USD">4341000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10902"
      unitRef="USD">6278000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E22" decimals="-3" id="ixv-10903" unitRef="USD">33168000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10904"
      unitRef="USD">18369000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10905"
      unitRef="USD">1229000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10906"
      unitRef="USD">3346000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E22" decimals="-3" id="ixv-10907" unitRef="USD">22944000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StGeo-U.S.AndCanada"
      decimals="-3"
      id="ixv-10908"
      unitRef="USD">4180000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-10909"
      unitRef="USD">3112000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E22_StGeo-IE"
      decimals="-3"
      id="ixv-10910"
      unitRef="USD">2932000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E22" decimals="-3" id="ixv-10911" unitRef="USD">10224000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:LongTermDebtTextBlock contextRef="Y23" id="ixv-7073">&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 2022 and 2023.&lt;/p&gt;
</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LongTermDebt
      contextRef="E23"
      decimals="INF"
      id="ixv-10912"
      unitRef="USD">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="E22"
      decimals="INF"
      id="ixv-10913"
      unitRef="USD">0</us-gaap:LongTermDebt>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="Y23" id="ixv-7080">&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 product liability litigation expenses at $1,660 in 2023, $670 in 2022 and $22 in 2021 were high relative to history, they were not material to overall consolidated financial results. &#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, 2023 or December 31, 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;&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. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall 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="Y23" decimals="-3" id="ixv-10914" unitRef="USD">1660000</fil:LitigationExpense>
    <fil:LitigationExpense contextRef="Y22" decimals="-3" id="ixv-10915" unitRef="USD">670000</fil:LitigationExpense>
    <fil:LitigationExpense contextRef="Y21" decimals="-3" id="ixv-10916" unitRef="USD">22000</fil:LitigationExpense>
    <us-gaap:ProductWarrantyAccrual
      contextRef="E23"
      decimals="INF"
      id="ixv-10917"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="E22"
      decimals="INF"
      id="ixv-10918"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrual>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y23" id="ixv-7115">&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&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;2023&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;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: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;2021&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;110&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;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;/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;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;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;/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;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;/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;(1,673)&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,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;/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;(1,442)&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,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;/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&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;2023&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;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"&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;/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,075&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;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"&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;/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;(621)&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;(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"&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;/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;3,454&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,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"&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;/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:259pt" 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:9.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 colspan="7" style="width:199.25pt;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:259pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:9.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:35.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.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:9.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:35.45pt;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.65pt" 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:9.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:35.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" 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:9.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:35.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,346&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" 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:9.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:35.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;439&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" 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:9.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:35.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;951&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" 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:9.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:35.45pt" 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:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Tax-exempt income &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.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:35.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(195)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.65pt" 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:9.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:35.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:36.65pt" 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:9.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:35.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" 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="width:9.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:35.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:36.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:9.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:35.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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" 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:9.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:35.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(84)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.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:9.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:35.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(50)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.65pt" 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:9.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:35.45pt;border-bottom:0.5pt solid #000000" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.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:35.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;3,454&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.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:9.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="width:35.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;4,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.65pt" 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:9.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="width:35.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;4,273&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&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;2023&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;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"&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;/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;11,170&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,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"&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;/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,919&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;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"&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;/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,089&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;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"&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;/tr&gt;
&lt;/table&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="Y23" id="ixv-7120">&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&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;2023&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;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: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;2021&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;110&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;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;/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;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;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;/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;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;/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;(1,673)&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,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;/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;(1,442)&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,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;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E23" decimals="-3" id="ixv-10919" unitRef="USD">110000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E22" decimals="-3" id="ixv-10920" unitRef="USD">103000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E21" decimals="-3" id="ixv-10921" unitRef="USD">88000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E23" decimals="-3" id="ixv-10922" unitRef="USD">31000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E22" decimals="-3" id="ixv-10923" unitRef="USD">39000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E21" decimals="-3" id="ixv-10924" unitRef="USD">31000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E23" decimals="-3" id="ixv-10925" unitRef="USD">90000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E22" decimals="-3" id="ixv-10926" unitRef="USD">90000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E21" decimals="-3" id="ixv-10927" unitRef="USD">58000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E23" decimals="-3" id="ixv-10928" unitRef="USD">1673000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E22" decimals="-3" id="ixv-10929" unitRef="USD">2295000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E21" decimals="-3" id="ixv-10930" unitRef="USD">2859000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <us-gaap:DeferredTaxLiabilities contextRef="E23" decimals="-3" id="ixv-10931" unitRef="USD">1442000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="E22" decimals="-3" id="ixv-10932" unitRef="USD">2063000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="E21" decimals="-3" id="ixv-10933" unitRef="USD">2682000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="Y23" id="ixv-7246">&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&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;2023&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;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"&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;/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,075&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;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"&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;/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;(621)&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;(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"&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;/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;3,454&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,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"&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;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-10934" unitRef="USD">4075000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-10935" unitRef="USD">4632000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" id="ixv-10936" unitRef="USD">3983000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <fil:DeferredIncomeTaxExpense contextRef="Y23" decimals="-3" id="ixv-10937" unitRef="USD">-621000</fil:DeferredIncomeTaxExpense>
    <fil:DeferredIncomeTaxExpense contextRef="Y22" decimals="-3" id="ixv-10938" unitRef="USD">-446000</fil:DeferredIncomeTaxExpense>
    <fil:DeferredIncomeTaxExpense contextRef="Y21" decimals="-3" id="ixv-10939" unitRef="USD">290000</fil:DeferredIncomeTaxExpense>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-10940" unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-10941" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" id="ixv-10942" unitRef="USD">4273000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="Y23" id="ixv-7335">&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:259pt" 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:9.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 colspan="7" style="width:199.25pt;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:259pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:9.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:35.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.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:9.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:35.45pt;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.65pt" 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:9.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:35.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" 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:9.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:35.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,346&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" 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:9.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:35.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;439&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" 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:9.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:35.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;951&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" 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:9.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:35.45pt" 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:36.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:9.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:35.45pt" 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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; Tax-exempt income &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9.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:35.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(195)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.65pt" 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:9.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:35.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:36.65pt" 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:9.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:35.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" 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="width:9.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:35.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:36.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:9.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:35.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:36.65pt" 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:9.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:35.45pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:259pt" 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:9.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:35.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(84)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.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:9.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:35.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;(50)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:36.65pt" 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:9.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:35.45pt;border-bottom:0.5pt solid #000000" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:259pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9.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:35.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;3,454&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.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:9.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="width:35.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;4,186&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:36.65pt" 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:9.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="width:35.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;4,273&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y23" decimals="-3" id="ixv-10943" unitRef="USD">2346000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y22" decimals="-3" id="ixv-10944" unitRef="USD">2620000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y21" decimals="-3" id="ixv-10945" unitRef="USD">2520000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y23" decimals="-3" id="ixv-10946" unitRef="USD">439000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y22" decimals="-3" id="ixv-10947" unitRef="USD">490000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y21" decimals="-3" id="ixv-10948" unitRef="USD">448000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y23" decimals="-3" id="ixv-10949" unitRef="USD">951000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y22" decimals="-3" id="ixv-10950" unitRef="USD">1129000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y21" decimals="-3" id="ixv-10951" unitRef="USD">1010000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y23" decimals="-3" id="ixv-10952" unitRef="USD">3000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y22" decimals="-3" id="ixv-10953" unitRef="USD">3000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y21" decimals="-3" id="ixv-10954" unitRef="USD">6000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:InterestIncomeSecuritiesTaxExempt contextRef="Y23" decimals="-3" id="ixv-10955" unitRef="USD">195000</us-gaap:InterestIncomeSecuritiesTaxExempt>
    <us-gaap:InterestIncomeSecuritiesTaxExempt contextRef="Y22" decimals="-3" id="ixv-10956" unitRef="USD">0</us-gaap:InterestIncomeSecuritiesTaxExempt>
    <us-gaap:InterestIncomeSecuritiesTaxExempt contextRef="Y21" decimals="-3" id="ixv-10957" unitRef="USD">0</us-gaap:InterestIncomeSecuritiesTaxExempt>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y23" decimals="-3" id="ixv-10958" unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y22" decimals="-3" id="ixv-10959" unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y21" decimals="-3" id="ixv-10960" unitRef="USD">-391000</fil:AdjustmentToDeferredTaxLiability>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y23" decimals="-3" id="ixv-10961" unitRef="USD">-84000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y22" decimals="-3" id="ixv-10962" unitRef="USD">-50000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y21" decimals="-3" id="ixv-10963" unitRef="USD">-90000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-10964" unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-10965" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y21" decimals="-3" id="ixv-10966" unitRef="USD">4273000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="Y23" id="ixv-7518">&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&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;2023&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;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"&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;/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;11,170&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,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"&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;/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,919&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;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"&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;/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,089&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;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"&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;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y23" decimals="-3" id="ixv-10967" unitRef="USD">11170000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y22" decimals="-3" id="ixv-10968" unitRef="USD">12475000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y21" decimals="-3" id="ixv-10969" unitRef="USD">12004000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y23" decimals="-3" id="ixv-10970" unitRef="USD">8919000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y22" decimals="-3" id="ixv-10971" unitRef="USD">8184000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y21" decimals="-3" id="ixv-10972" unitRef="USD">7057000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y23" decimals="-3" id="ixv-10973" unitRef="USD">20089000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y22" decimals="-3" id="ixv-10974" unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y21" decimals="-3" id="ixv-10975" unitRef="USD">19061000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="Y23" id="ixv-7611">&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 285 thousand shares of common stock, of which 84 thousand are outstanding as of December 31, 2023. &#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;/p&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;2023&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;19&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;77.07 - 77.07&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;0.4&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;77.05 - 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;2&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;49.18 - 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;84&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;49.18 - 82.60&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;50&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;49.18 - 82.60&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.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:27.25pt" 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:27.3pt;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:345.95pt;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.75pt" 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.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: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.95pt;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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.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: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.25pt;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.5pt" 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.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.25pt;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.5pt" 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;-&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.25pt" 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.5pt" 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;3&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.25pt" 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.5pt" 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;14&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.25pt" 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.5pt" 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;52&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.25pt" 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.5pt" 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;34&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.25pt" 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;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&#160;31, 2023, 2022 and 2021, the Company reduced current income taxes payable by $12, $6 and $39, 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 2023, the Company recognized $225 in equity compensation cost, compared to $183 in 2022 and $166 in 2021. &#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;2023&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;2022&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;2021&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.3090&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;0.3050&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;-&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;31.67%&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;29.87%&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;-&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.75%&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;4.09%&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;-&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.6 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;5.7 years&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;-&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 2023 is $25.09 and in 2022 is $25.34. 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, 2023 there was $702 total unrecognized compensation expense related to non-vested stock options under the plans. A $225 portion of the cost is expected to be recognized over the next twelve months, and the remaining $477 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, 2023:&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;74.64&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;23,841&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;3.18 &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;63.44&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;23,841&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;63.44&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;77.05&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;82.60&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;60,460&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;8.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: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;78.95&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;24,644&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;78.21&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;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="background-color:#CCEEFF;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="background-color:#CCEEFF;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="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-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;84,301&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-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.79&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;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;74.56&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-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;48,485&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;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;70.95&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;2023&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;2022&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;2021&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;31&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;141&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;591&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;814&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,812&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,595&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="E23"
      decimals="-3"
      id="ixv-10976"
      unitRef="Shares">285000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E23"
      decimals="-3"
      id="ixv-10977"
      unitRef="Shares">84000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="Y23" id="ixv-7617">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&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;2023&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;19&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;77.07 - 77.07&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;0.4&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;77.05 - 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;2&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;49.18 - 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;84&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;49.18 - 82.60&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;50&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;49.18 - 82.60&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.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:27.25pt" 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:27.3pt;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:345.95pt;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.75pt" 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.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: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.95pt;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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.75pt" 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.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: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 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.95pt" 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.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: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.25pt;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.5pt" 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.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.25pt;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.5pt" 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;-&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.25pt" 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.5pt" 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;3&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.25pt" 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.5pt" 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;14&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.25pt" 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.5pt" 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;52&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.25pt" 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.5pt" 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;34&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.25pt" 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;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Y23"
      decimals="-3"
      id="ixv-10978"
      unitRef="Shares">19000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <fil:PriceRangePerShareGranted contextRef="Y23" id="ixv-10979">77.07 - 77.07</fil:PriceRangePerShareGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="Y23"
      decimals="-2"
      id="ixv-10980"
      unitRef="Shares">400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <fil:PriceRangePerShareExpired contextRef="Y23" id="ixv-10981">77.05 - 77.05</fil:PriceRangePerShareExpired>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10982"
      unitRef="Shares">2000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <fil:PriceRangePerShareExercised contextRef="Y23" id="ixv-10983">49.18 - 77.05</fil:PriceRangePerShareExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E23"
      decimals="-3"
      id="ixv-10984"
      unitRef="Shares">84000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <fil:PriceRangePerShareOutstanding contextRef="Y23" id="ixv-10985">49.18 - 82.60</fil:PriceRangePerShareOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="E23"
      decimals="-3"
      id="ixv-10986"
      unitRef="Shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <fil:PriceRangePerShareTotalExercisable contextRef="Y23" id="ixv-10987">49.18 - 82.60</fil:PriceRangePerShareTotalExercisable>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Y22"
      decimals="-3"
      id="ixv-10988"
      unitRef="Shares">21000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <fil:PriceRangePerShareGranted contextRef="Y22" id="ixv-10989">82.60 - 82.60</fil:PriceRangePerShareGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="Y22"
      decimals="-3"
      id="ixv-10990"
      unitRef="Shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <fil:PriceRangePerShareExpired contextRef="Y22" id="ixv-10991">33.30 - 77.05</fil:PriceRangePerShareExpired>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-10992"
      unitRef="Shares">4000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <fil:PriceRangePerShareExercised contextRef="Y22" id="ixv-10993">33.30 - 77.05</fil:PriceRangePerShareExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E22"
      decimals="-3"
      id="ixv-10994"
      unitRef="Shares">67000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <fil:PriceRangePerShareOutstanding contextRef="Y22" id="ixv-10995">33.30 - 77.05</fil:PriceRangePerShareOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="E22"
      decimals="-3"
      id="ixv-10996"
      unitRef="Shares">40000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <fil:PriceRangePerShareTotalExercisable contextRef="Y22" id="ixv-10997">33.30 - 77.05</fil:PriceRangePerShareTotalExercisable>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Y21"
      decimals="-3"
      id="ixv-10998"
      unitRef="Shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <fil:PriceRangePerShareGranted contextRef="Y21" id="ixv-10999">- - -</fil:PriceRangePerShareGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="Y21"
      decimals="-3"
      id="ixv-11000"
      unitRef="Shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <fil:PriceRangePerShareExpired contextRef="Y21" id="ixv-11001">74.64 - 77.05</fil:PriceRangePerShareExpired>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11002"
      unitRef="Shares">14000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <fil:PriceRangePerShareExercised contextRef="Y21" id="ixv-11003">26.52 - 77.05</fil:PriceRangePerShareExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E21"
      decimals="-3"
      id="ixv-11004"
      unitRef="Shares">52000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <fil:PriceRangePerShareOutstanding contextRef="Y21" id="ixv-11005">33.30 - 77.05</fil:PriceRangePerShareOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="E21"
      decimals="-3"
      id="ixv-11006"
      unitRef="Shares">34000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <fil:PriceRangePerShareTotalExercisable contextRef="Y21" id="ixv-11007">33.30 - 77.05</fil:PriceRangePerShareTotalExercisable>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y23" decimals="-3" id="ixv-11008" unitRef="USD">12000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y22" decimals="-3" id="ixv-11009" unitRef="USD">6000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y21" decimals="-3" id="ixv-11010" unitRef="USD">39000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y23" decimals="-3" id="ixv-11011" unitRef="USD">225000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y22" decimals="-3" id="ixv-11012" unitRef="USD">183000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y21" decimals="-3" id="ixv-11013" unitRef="USD">166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="Y23" id="ixv-7916">&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;2023&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;2022&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;2021&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.3090&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;0.3050&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;-&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;31.67%&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;29.87%&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;-&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.75%&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;4.09%&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;-&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.6 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;5.7 years&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;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments
      contextRef="Y23"
      decimals="INF"
      id="ixv-11014"
      unitRef="USD">0.309</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments
      contextRef="Y22"
      decimals="INF"
      id="ixv-11015"
      unitRef="USD">0.305</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Y23"
      decimals="INF"
      id="ixv-11016"
      unitRef="Pure">0.3167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Y22"
      decimals="INF"
      id="ixv-11017"
      unitRef="Pure">0.2987</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Y23"
      decimals="INF"
      id="ixv-11018"
      unitRef="Pure">0.0475</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Y22"
      decimals="INF"
      id="ixv-11019"
      unitRef="Pure">0.0409</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y23" id="ixv-11020">P5Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y22" id="ixv-11021">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Y23"
      decimals="INF"
      id="ixv-11022"
      unitRef="UsdPerShare">25.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Y22"
      decimals="INF"
      id="ixv-11023"
      unitRef="UsdPerShare">25.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="E23" decimals="-3" id="ixv-11024" unitRef="USD">702000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths contextRef="E23" decimals="-3" id="ixv-11025" unitRef="USD">225000</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition contextRef="Y23" id="ixv-11026">P12M</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears
      contextRef="E23"
      decimals="INF"
      id="ixv-11027"
      unitRef="USD">477</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition contextRef="Y23" id="ixv-11028">P4Y</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition>
    <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock contextRef="Y23" id="ixv-8038">&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;74.64&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;23,841&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;3.18 &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;63.44&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;23,841&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;63.44&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;77.05&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;82.60&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;60,460&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;8.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: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;78.95&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;24,644&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;78.21&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;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="background-color:#CCEEFF;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="background-color:#CCEEFF;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="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-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;84,301&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-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.79&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;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;74.56&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-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;48,485&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;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;70.95&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y23_StScenario-Range1"
      decimals="INF"
      id="ixv-11029"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y23_StScenario-Range1"
      decimals="INF"
      id="ixv-11030"
      unitRef="UsdPerShare">74.64</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E23_StScenario-Range1"
      decimals="INF"
      id="ixv-11031"
      unitRef="Shares">23841</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E23_StScenario-Range1"
      decimals="INF"
      id="ixv-11032"
      unitRef="Pure">3.18</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E23_StScenario-Range1"
      decimals="INF"
      id="ixv-11033"
      unitRef="UsdPerShare">63.44</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E23_StScenario-Range1"
      decimals="INF"
      id="ixv-11034"
      unitRef="Shares">23841</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E23_StScenario-Range1"
      decimals="INF"
      id="ixv-11035"
      unitRef="UsdPerShare">63.44</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y23_StScenario-Range2"
      decimals="INF"
      id="ixv-11036"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y23_StScenario-Range2"
      decimals="INF"
      id="ixv-11037"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E23_StScenario-Range2"
      decimals="INF"
      id="ixv-11038"
      unitRef="Shares">60460</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E23_StScenario-Range2"
      decimals="INF"
      id="ixv-11039"
      unitRef="Pure">8.22</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E23_StScenario-Range2"
      decimals="INF"
      id="ixv-11040"
      unitRef="UsdPerShare">78.95</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E23_StScenario-Range2"
      decimals="INF"
      id="ixv-11041"
      unitRef="Shares">24644</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E23_StScenario-Range2"
      decimals="INF"
      id="ixv-11042"
      unitRef="UsdPerShare">78.21</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y23"
      decimals="INF"
      id="ixv-11043"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y23"
      decimals="INF"
      id="ixv-11044"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E23"
      decimals="INF"
      id="ixv-11045"
      unitRef="Shares">84301</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E23"
      decimals="INF"
      id="ixv-11046"
      unitRef="Pure">6.79</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E23"
      decimals="INF"
      id="ixv-11047"
      unitRef="UsdPerShare">74.56</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E23"
      decimals="INF"
      id="ixv-11048"
      unitRef="Shares">48485</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E23"
      decimals="INF"
      id="ixv-11049"
      unitRef="UsdPerShare">70.95</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y23" decimals="-3" id="ixv-11050" unitRef="USD">31000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y22" decimals="-3" id="ixv-11051" unitRef="USD">141000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y21" decimals="-3" id="ixv-11052" unitRef="USD">591000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E23" decimals="-3" id="ixv-11053" unitRef="USD">814000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E22" decimals="-3" id="ixv-11054" unitRef="USD">1812000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E21" decimals="-3" id="ixv-11055" unitRef="USD">1595000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <fil:GeographicInformationTextBlock contextRef="Y23" id="ixv-8305">&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:534.95pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:50.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:112.7pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.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:26pt" 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:112.7pt;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:60.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:26pt" 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:112.7pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:534.95pt" 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:50.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="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;30,413&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:60.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:26pt" 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:112.7pt;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:60.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:26pt" 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:112.7pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="width:534.95pt" 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:50.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:112.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,918&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:112.7pt" 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:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:112.7pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:534.95pt" 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:50.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:112.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,893&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.7pt" 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:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.7pt" 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;/tr&gt;
&lt;/table&gt;
</fil:GeographicInformationTextBlock>
    <fil:ScheduleOfGeographicInformationTextBlock contextRef="Y23" id="ixv-8310">&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:534.95pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:50.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:112.7pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.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:26pt" 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:112.7pt;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:60.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:26pt" 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:112.7pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:534.95pt" 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:50.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="background-color:#CCEEFF;width:112.7pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;30,413&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:60.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:26pt" 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:112.7pt;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:60.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:26pt" 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:112.7pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="width:534.95pt" 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:50.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:112.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,918&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:112.7pt" 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:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:112.7pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:534.95pt" 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:50.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:112.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,893&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.7pt" 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:60.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:26pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.7pt" 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;/tr&gt;
&lt;/table&gt;
</fil:ScheduleOfGeographicInformationTextBlock>
    <fil:CompanySalesInTheUnitedStates contextRef="Y23" decimals="-3" id="ixv-11056" unitRef="USD">30413000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInTheUnitedStates contextRef="Y22" decimals="-3" id="ixv-11057" unitRef="USD">34524000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInTheUnitedStates contextRef="Y21" decimals="-3" id="ixv-11058" unitRef="USD">31758000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInEurope contextRef="Y23" decimals="-3" id="ixv-11059" unitRef="USD">8918000</fil:CompanySalesInEurope>
    <fil:CompanySalesInEurope contextRef="Y22" decimals="-3" id="ixv-11060" unitRef="USD">7214000</fil:CompanySalesInEurope>
    <fil:CompanySalesInEurope contextRef="Y21" decimals="-3" id="ixv-11061" unitRef="USD">7434000</fil:CompanySalesInEurope>
    <fil:CompanySalesOther contextRef="Y23" decimals="-3" id="ixv-11062" unitRef="USD">10893000</fil:CompanySalesOther>
    <fil:CompanySalesOther contextRef="Y22" decimals="-3" id="ixv-11063" unitRef="USD">10543000</fil:CompanySalesOther>
    <fil:CompanySalesOther contextRef="Y21" decimals="-3" id="ixv-11064" unitRef="USD">9862000</fil:CompanySalesOther>
    <fil:GeographicLongLivedAssetsInformationTextBlock contextRef="Y23" id="ixv-8391">&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:537.1pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:50.05pt" 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:112.3pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59.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:25.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:112.3pt;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:59.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:25.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:112.3pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:537.1pt" 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:50.05pt" 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:112.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,462&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:59.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:25.95pt" 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:112.3pt" 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:59.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:25.95pt" 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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,838&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59.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:25.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:112.3pt" 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:59.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:25.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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,963&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:59.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:25.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:112.3pt" 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:59.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:25.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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p 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:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;336&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.3pt" 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:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;589&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:59.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:25.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:112.3pt" 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:59.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:25.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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:537.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:#FFFFFF;width:50.05pt" valign="top"&gt;&lt;p 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:112.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:#FFFFFF;width:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.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:#FFFFFF;width:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.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;/tr&gt;
&lt;/table&gt;
</fil:GeographicLongLivedAssetsInformationTextBlock>
    <fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock contextRef="Y23" id="ixv-8396">&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:537.1pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:50.05pt" 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:112.3pt;border-bottom:0.5pt solid #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59.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:25.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:112.3pt;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:59.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:25.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:112.3pt;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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:537.1pt" 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:50.05pt" 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:112.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,462&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:59.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:25.95pt" 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:112.3pt" 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:59.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:25.95pt" 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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,838&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59.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:25.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:112.3pt" 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:59.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:25.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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,963&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:59.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:25.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:112.3pt" 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:59.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:25.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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p 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:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;336&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#FFFFFF;width:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.3pt" 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:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:537.1pt" 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:50.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:112.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;589&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:59.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:25.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:112.3pt" 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:59.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:25.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:112.3pt" 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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#FFFFFF;width:537.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:#FFFFFF;width:50.05pt" valign="top"&gt;&lt;p 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:112.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:#FFFFFF;width:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.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:#FFFFFF;width:59.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:#FFFFFF;width:25.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:#FFFFFF;width:112.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;/tr&gt;
&lt;/table&gt;
</fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E23" decimals="-3" id="ixv-11066" unitRef="USD">11462000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E22" decimals="-3" id="ixv-11067" unitRef="USD">14875000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E21" decimals="-3" id="ixv-11068" unitRef="USD">19104000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInEngland contextRef="E23" decimals="-3" id="ixv-11069" unitRef="USD">13838000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInEngland contextRef="E22" decimals="-3" id="ixv-11070" unitRef="USD">15184000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInEngland contextRef="E21" decimals="-3" id="ixv-11071" unitRef="USD">19339000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInIreland contextRef="E23" decimals="-3" id="ixv-11072" unitRef="USD">2963000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInIreland contextRef="E22" decimals="-3" id="ixv-11073" unitRef="USD">2954000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInIreland contextRef="E21" decimals="-3" id="ixv-11074" unitRef="USD">2990000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInAustralia contextRef="E23" decimals="-3" id="ixv-11075" unitRef="USD">336000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInAustralia contextRef="E22" decimals="-3" id="ixv-11076" unitRef="USD">337000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInAustralia contextRef="E21" decimals="-3" id="ixv-11077" unitRef="USD">392000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInCanada contextRef="E23" decimals="-3" id="ixv-11078" unitRef="USD">589000</fil:LongLivedAssetsInCanada>
    <fil:LongLivedAssetsInCanada contextRef="E22" decimals="-3" id="ixv-11079" unitRef="USD">593000</fil:LongLivedAssetsInCanada>
    <fil:LongLivedAssetsInCanada contextRef="E21" decimals="-3" id="ixv-11080" unitRef="USD">653000</fil:LongLivedAssetsInCanada>
    <fil:RevenuesbyproductcategoryandregionTextBlock contextRef="Y23" id="ixv-8539">&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:497.8pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.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,592&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.9pt" 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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,300&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,863&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,469&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;50,224&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/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:497.8pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,041&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.9pt" 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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,992&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,678&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,309&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,020&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/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="Y23" id="ixv-8544">&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:497.8pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.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,592&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.9pt" 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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,300&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,863&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,469&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;50,224&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;/table&gt;
</fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      id="ixv-11081"
      unitRef="USD">4592000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      id="ixv-11082"
      unitRef="USD">4661000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      id="ixv-11083"
      unitRef="USD">4675000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      id="ixv-11084"
      unitRef="USD">22300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      id="ixv-11085"
      unitRef="USD">21841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      id="ixv-11086"
      unitRef="USD">21973000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      id="ixv-11087"
      unitRef="USD">6863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      id="ixv-11088"
      unitRef="USD">7567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      id="ixv-11089"
      unitRef="USD">6691000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global"
      decimals="-3"
      id="ixv-11090"
      unitRef="USD">16469000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global"
      decimals="-3"
      id="ixv-11091"
      unitRef="USD">18212000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Global"
      decimals="-3"
      id="ixv-11092"
      unitRef="USD">15715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-Global"
      decimals="-3"
      id="ixv-11093"
      unitRef="USD">50224000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-Global"
      decimals="-3"
      id="ixv-11094"
      unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-Global"
      decimals="-3"
      id="ixv-11095"
      unitRef="USD">49054000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:ScheduleofousrevenuesbyproductcategoryTextBlock contextRef="Y23" id="ixv-8673">&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:497.8pt" valign="top"&gt; &lt;/td&gt;&lt;td style="width:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2023&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,041&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.9pt" 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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;11,992&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,678&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="width:497.8pt" 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:58.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:25.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:110.9pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7,309&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:497.8pt" 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:58.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:25.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:110.9pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;22,020&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.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:25.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:110.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:71.45pt" 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:25.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:110.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;/tr&gt;
&lt;/table&gt;
</fil:ScheduleofousrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      id="ixv-11096"
      unitRef="USD">1041000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      id="ixv-11097"
      unitRef="USD">676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      id="ixv-11098"
      unitRef="USD">735000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      id="ixv-11099"
      unitRef="USD">11992000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      id="ixv-11100"
      unitRef="USD">11603000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      id="ixv-11101"
      unitRef="USD">11053000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      id="ixv-11102"
      unitRef="USD">1678000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      id="ixv-11103"
      unitRef="USD">1517000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      id="ixv-11104"
      unitRef="USD">1347000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous"
      decimals="-3"
      id="ixv-11105"
      unitRef="USD">7309000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous"
      decimals="-3"
      id="ixv-11106"
      unitRef="USD">6514000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_ProductOrService-BloodPressureMonitoringandAccessories_StGeo-Ous"
      decimals="-3"
      id="ixv-11107"
      unitRef="USD">5260000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-Ous"
      decimals="-3"
      id="ixv-11108"
      unitRef="USD">22020000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-Ous"
      decimals="-3"
      id="ixv-11109"
      unitRef="USD">20310000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y21_StGeo-Ous"
      decimals="-3"
      id="ixv-11110"
      unitRef="USD">18395000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:ProductSaleAndPurchaseCommitmentsTextBlock contextRef="Y23" id="ixv-8804">&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 2023, 2022 and 2021, UTMD received royalties of $20, $20 and $15, 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 $4,529 in operating lease and purchase commitments as of December 31, 2023.&lt;/p&gt;
</fil:ProductSaleAndPurchaseCommitmentsTextBlock>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y23" decimals="-3" id="ixv-11111" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y22" decimals="-3" id="ixv-11112" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y21" decimals="-3" id="ixv-11113" unitRef="USD">15000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:ContractualObligation contextRef="E23" decimals="-3" id="ixv-11114" unitRef="USD">4529000</us-gaap:ContractualObligation>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="Y23" id="ixv-8815">&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 $184, $159 and $165 for the years ended December 31, 2023, 2022 and 2021, respectively.&lt;/p&gt;
</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y23" decimals="-3" id="ixv-11115" unitRef="USD">184000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y22" decimals="-3" id="ixv-11116" unitRef="USD">159000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y21" decimals="-3" id="ixv-11117" unitRef="USD">165000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="Y23" id="ixv-8828">&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 8 years and on the automobile is 6 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, 2023, 2022, and 2021 were $65, $64, and $63, 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 (&lt;i&gt;in thousands&lt;/i&gt;):&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, 2023&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;$342&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, 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;47&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, 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;295&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;$342&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, 2023 were as follows &lt;i&gt;(in thousands)&lt;/i&gt;:&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, 2023&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;2024&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;$45&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;2025&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;41&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;2026&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;42&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;2027&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;43&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;2028&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;44&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;125&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;$381&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;(39)&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;$342&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, 2023&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;7.4 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.0%&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="D231231" id="ixv-11118">P8Y</fil:LesseeOperatingLeaseForParkingLotTermOfContract>
    <fil:LesseeOperatingLeaseForAutomobileTermOfContract contextRef="D231231" id="ixv-11119">P6M</fil:LesseeOperatingLeaseForAutomobileTermOfContract>
    <fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI contextRef="Y22" decimals="-3" id="ixv-11120" unitRef="USD">87000</fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI>
    <us-gaap:OperatingLeaseCost contextRef="Y23" decimals="-3" id="ixv-11121" unitRef="USD">65000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="Y22" decimals="-3" id="ixv-11122" unitRef="USD">64000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="Y21" decimals="-3" id="ixv-11123" unitRef="USD">63000</us-gaap:OperatingLeaseCost>
    <fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock contextRef="Y23" id="ixv-8838">&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, 2023&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;$342&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, 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;47&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, 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;295&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;$342&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E23" decimals="-3" id="ixv-11124" unitRef="USD">342000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="E23" decimals="-3" id="ixv-11125" unitRef="USD">47000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E23" decimals="-3" id="ixv-11126" unitRef="USD">295000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="E23" decimals="-3" id="ixv-11127" unitRef="USD">342000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="Y23" id="ixv-8868">&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, 2023 were as follows &lt;i&gt;(in thousands)&lt;/i&gt;:&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, 2023&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;2024&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;$45&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;2025&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;41&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;2026&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;42&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;2027&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;43&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;2028&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;44&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;125&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;$381&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;(39)&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;$342&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, 2023&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;7.4 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.0%&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="E23" decimals="-3" id="ixv-11128" unitRef="USD">45000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="E23" decimals="-3" id="ixv-11129" unitRef="USD">41000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="E23" decimals="-3" id="ixv-11130" unitRef="USD">42000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="E23" decimals="-3" id="ixv-11131" unitRef="USD">43000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="E23" decimals="-3" id="ixv-11132" unitRef="USD">44000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="E23" decimals="-3" id="ixv-11133" unitRef="USD">125000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="E23" decimals="-3" id="ixv-11134" unitRef="USD">381000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="E23" decimals="-3" id="ixv-11135" unitRef="USD">39000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="E23" decimals="-3" id="ixv-11136" unitRef="USD">342000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="E23" id="ixv-11137">P7Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="E23"
      decimals="INF"
      id="ixv-11138"
      unitRef="Pure">0.03</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="Y23" id="ixv-8949">&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 had the right to sell the Filshie Clip System and UTMD distributed the Filshie Clip System directly to clinical facilities in the U.S. The $21,000 purchase price represented an identifiable intangible asset which was 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 became 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="Y23_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      id="ixv-11139"
      unitRef="USD">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem
      contextRef="Y23_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="INF"
      id="ixv-11140"
      unitRef="Pure">4.75</fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem>
    <us-gaap:EarningsPerShareTextBlock contextRef="Y23" id="ixv-8964">&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 2023.&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&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;2023&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;2022&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;2021&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,635&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;16,473&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;14,788&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,629&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,637&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,647&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;8&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;6&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;13&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,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;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: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,660&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.58&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.53&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;4.05&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.57&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.52&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;4.04&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="Y23" id="ixv-8969">&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&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;2023&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;2022&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;2021&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,635&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;16,473&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;14,788&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,629&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,637&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,647&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;8&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;6&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;13&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,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;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: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,660&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.58&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.53&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;4.05&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.57&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.52&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;4.04&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="Y23" decimals="-3" id="ixv-11141" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-11142" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y21" decimals="-3" id="ixv-11143" unitRef="USD">14788000</us-gaap:ProfitLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y23"
      decimals="-3"
      id="ixv-11144"
      unitRef="Shares">3629000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y22"
      decimals="-3"
      id="ixv-11145"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y21"
      decimals="-3"
      id="ixv-11146"
      unitRef="Shares">3647000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y23"
      decimals="-3"
      id="ixv-11147"
      unitRef="Shares">8000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y22"
      decimals="-3"
      id="ixv-11148"
      unitRef="Shares">6000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y21"
      decimals="-3"
      id="ixv-11149"
      unitRef="Shares">13000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y23"
      decimals="-3"
      id="ixv-11150"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y22"
      decimals="-3"
      id="ixv-11151"
      unitRef="Shares">3643000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y21"
      decimals="-3"
      id="ixv-11152"
      unitRef="Shares">3660000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y23"
      decimals="INF"
      id="ixv-11153"
      unitRef="UsdPerShare">4.58</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y22"
      decimals="INF"
      id="ixv-11154"
      unitRef="UsdPerShare">4.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y21"
      decimals="INF"
      id="ixv-11155"
      unitRef="UsdPerShare">4.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23"
      decimals="INF"
      id="ixv-11156"
      unitRef="UsdPerShare">4.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22"
      decimals="INF"
      id="ixv-11157"
      unitRef="UsdPerShare">4.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y21"
      decimals="INF"
      id="ixv-11158"
      unitRef="UsdPerShare">4.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="Y23" id="ixv-9127">&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="Y23" id="ixv-9131">&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="Y23" id="ixv-9136">&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, 2023 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>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="Y23" id="ixv-11159">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="Y23" id="ixv-11160">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="Y23" id="ixv-11161">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="Y23" id="ixv-11162">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
