<SEC-DOCUMENT>0001437749-23-018263.txt : 20230623
<SEC-HEADER>0001437749-23-018263.hdr.sgml : 20230623
<ACCEPTANCE-DATETIME>20230623161616
ACCESSION NUMBER:		0001437749-23-018263
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		13
CONFORMED PERIOD OF REPORT:	20230622
ITEM INFORMATION:		Submission of Matters to a Vote of Security Holders
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20230623
DATE AS OF CHANGE:		20230623

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			NORTHWEST PIPE CO
		CENTRAL INDEX KEY:			0001001385
		STANDARD INDUSTRIAL CLASSIFICATION:	STEEL PIPE & TUBES [3317]
		IRS NUMBER:				930557988
		STATE OF INCORPORATION:			OR
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-27140
		FILM NUMBER:		231037877

	BUSINESS ADDRESS:	
		STREET 1:		201 NE PARK PLAZA DRIVE
		STREET 2:		SUITE 100
		CITY:			VANCOUVER
		STATE:			WA
		ZIP:			98684
		BUSINESS PHONE:		3603976250

	MAIL ADDRESS:	
		STREET 1:		201 NE PARK PLAZA DRIVE
		STREET 2:		SUITE 100
		CITY:			VANCOUVER
		STATE:			WA
		ZIP:			98684
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>nwpx20230413c_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2020-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:rr="http://xbrl.sec.gov/rr/2018-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:nwpx="http://www.nwpx.com/20230622"><head><!-- Generated by ThunderDome Portal - 6/23/2023 5:43:22 PM -->
	<title>nwpx20230413c_8k.htm</title>


<meta http-equiv="Content-Type" content="text/html" /></head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;"><div style="display: none">
<ix:header>
<ix:hidden>
<ix:nonNumeric contextRef="d20238K" name="dei:AmendmentFlag">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d20238K" name="dei:EntityCentralIndexKey">0001001385</ix:nonNumeric>

</ix:hidden>
<ix:references>
<link:schemaRef xlink:href="nwpx-20230622.xsd" xlink:type="simple" />
</ix:references>
<ix:resources>
<xbrli:context id="d20238K">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0001001385</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2023-06-22</xbrli:startDate>
<xbrli:endDate>2023-06-22</xbrli:endDate>
</xbrli:period>
</xbrli:context>


</ix:resources>
</ix:header>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<hr style="height: 3px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0" />
<hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 0 0 3pt 0" />
<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 8pt;">UNITED STATES</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">SECURITIES AND EXCHANGE COMMISSION</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">Washington, D.C. 20549</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:12pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;"><b>FORM</b>&#xa0;<ix:nonNumeric contextRef="d20238K" name="dei:DocumentType"><b>8-K</b></ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">CURRENT REPORT</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">Pursuant to Section 13 OR 15(d) of The Securities Exchange Act of 1934</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">Date of Report (Date of earliest event reported): <ix:nonNumeric contextRef="d20238K" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate"><b>June</b>&#xa0;<b>22, 2023</b></ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:12pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;"><ix:nonNumeric contextRef="d20238K" name="dei:EntityRegistrantName"><b>NORTHWEST PIPE COMPANY</b></ix:nonNumeric></div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">(Exact name of registrant as specified in its charter)</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20238K" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode"><b>O<span style="text-transform:uppercase;">regon</span></b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:bottom;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20238K" name="dei:EntityFileNumber"><b>0-27140</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:bottom;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20238K" name="dei:EntityTaxIdentificationNumber"><b>93-0557988</b></ix:nonNumeric></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(State or other jurisdiction</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">of incorporation)</div>
			</td>
			<td style="vertical-align:bottom;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Commission</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">File Number)</div>
			</td>
			<td style="vertical-align:bottom;width:0.9%;">&#xa0;</td>
			<td style="vertical-align:top;width:14.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(IRS Employer</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Identification No.)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;"><ix:nonNumeric contextRef="d20238K" name="dei:EntityAddressAddressLine1"><b>201 NE Park Plaza Drive, Suite</b>&#xa0;<b>100</b></ix:nonNumeric></div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;"><b><ix:nonNumeric contextRef="d20238K" name="dei:EntityAddressCityOrTown"><b>Vancouver</b></ix:nonNumeric>, <ix:nonNumeric contextRef="d20238K" name="dei:EntityAddressStateOrProvince"><b>WA</b></ix:nonNumeric> <ix:nonNumeric contextRef="d20238K" name="dei:EntityAddressPostalZipCode"><b>98684</b></ix:nonNumeric></b></div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">(Address of principal executive offices and Zip Code)</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 15pt;">Registrant's telephone number, including area code:&#xa0;<ix:nonNumeric contextRef="d20238K" name="dei:CityAreaCode"><b>360</b></ix:nonNumeric>&#8209;<ix:nonNumeric contextRef="d20238K" name="dei:LocalPhoneNumber"><b>397</b>&#8209;<b>6250</b></ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Check the appropriate box below if the Form&#xa0;8&#8209;K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions:</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:2.1%;">
			<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20238K" format="ixt-sec:boolballotbox" name="dei:WrittenCommunications">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:43.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Written communications pursuant to Rule&#xa0;425 under the Securities Act (17&#xa0;CFR&#xa0;230.425)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:2.1%;">
			<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20238K" format="ixt-sec:boolballotbox" name="dei:SolicitingMaterial">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:43.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Soliciting material pursuant to Rule&#xa0;14a-12 under the Exchange Act (17&#xa0;CFR&#xa0;240.14a-12)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:2.1%;">
			<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20238K" format="ixt-sec:boolballotbox" name="dei:PreCommencementTenderOffer">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:43.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Pre-commencement communications pursuant to Rule&#xa0;14d-2(b) under the Exchange Act (17&#xa0;CFR&#xa0;240.14d-2(b))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:top;width:2.1%;">
			<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><ix:nonNumeric contextRef="d20238K" format="ixt-sec:boolballotbox" name="dei:PreCommencementIssuerTenderOffer">&#9744;</ix:nonNumeric></div>
			</td>
			<td style="vertical-align:top;width:43.6%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Pre-commencement communications pursuant to Rule&#xa0;13e-4(c) under the Exchange Act (17&#xa0;CFR&#xa0;240.13e-4(c))</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">Securities registered pursuant to Section&#xa0;12(b) of the Act:</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align:middle;width:17.8%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><span style="text-decoration: underline;">&#xa0;Title of each class </span>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</div>
			</td>
			<td style="vertical-align:middle;width:10.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><span style="text-decoration: underline;">Trading Symbol(s) </span>&#xa0;</div>
			</td>
			<td style="vertical-align:middle;width:17.8%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><span style="text-decoration: underline;">&#xa0;Name of each exchange on which registered </span>&#xa0;&#xa0;&#xa0;&#xa0;</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:middle;width:17.8%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d20238K" name="dei:Security12bTitle"><b>Common Stock</b></ix:nonNumeric>, par value $0.01 per share</b></div>
			</td>
			<td style="vertical-align:middle;width:10.1%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d20238K" name="dei:TradingSymbol"><b>NWPX</b></ix:nonNumeric></div>
			</td>
			<td style="vertical-align:middle;width:17.8%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d20238K" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName"><b>Nasdaq</b></ix:nonNumeric> Global Select Market</b></div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule&#xa0;405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule&#xa0;12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;">Emerging growth company&#xa0;&#xa0; &#xa0;&#xa0; <ix:nonNumeric contextRef="d20238K" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">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&#xa0;13(a) of the Exchange Act. &#xa0;&#xa0;&#xa0;&#xa0;&#9744;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">&#xa0;</div>

<hr style="height: 1px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 3pt 0" />
<hr style="height: 3px; color: #000000; background-color: #000000; width: 100%; border: none; margin: 0 0 3pt 0" />
<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#xa0;</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
<div class="PGHDR" style="text-align: left; width: 100%">&#xa0;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item&#xa0;5.07</div>
			</td>
			<td style="vertical-align: top; width: 92%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">SUBMISSION OF MATTERS TO A VOTE OF SECURITY HOLDERS</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 92%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 92%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">At the Annual Meeting of Shareholders of Northwest Pipe Company (the &#8220;Company&#8221;) on June&#xa0;22, 2023, the Company&#8217;s shareholders: (i)&#xa0;elected three directors; (ii)&#xa0;approved, on an advisory basis, the compensation paid to the Company&#8217;s named executive officers; (iii)&#xa0;approved, on an advisory basis, &#8220;1&#xa0;Year&#8221; as the frequency with which the Company should include advisory votes&#xa0;on executive compensation in future proxy statements; and (iv)&#xa0;ratified the appointment of Moss Adams&#xa0;LLP as the Company&#8217;s independent registered public accountants for the year ending December&#xa0;31, 2023. Set forth below are the voting results for each of these proposals.</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">&#xa0;</div>

			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Proposal 1: &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Election of three&#xa0;directors:</div>
			</td>
		</tr>

</tbody></table>

<div style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 30%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Nominee</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">For</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Withheld</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Broker Non&#8209;votes</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">&#xa0;</td>
			<td style="vertical-align: bottom; width: 30%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Irma Lockridge (two&#8209;year term)</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">7,932,243</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">175,709</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">940,551</td>
		</tr>
		<tr style="background-color: rgb(255, 255, 255);">
			<td style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 30%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Scott Montross (three-year term)</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">7,177,688</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">930,264</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">940,551</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255);">
			<td style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">&#xa0;</td>
			<td style="vertical-align: bottom; width: 30%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">John Paschal (three-year term)</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">5,552,721</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">2,555,231</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 18%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">940,551</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 92%; text-align: justify;">Proposal 2: &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Advisory vote on executive compensation:</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;">For</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Against</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Abstain</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Broker Non&#8209;votes</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">7,507,479</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">376,937</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">223,536</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">940,551</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 92%; text-align: justify;">Proposal 3:&#xa0; &#xa0; &#xa0; Advisory vote on the frequency of shareholder advisory votes on executive compensation:</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;">1 Year</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">2 Years</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">3 Years</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 17%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">Abstain</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 17%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Broker Non&#8209;votes</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">&#xa0;</td>
			<td style="vertical-align: bottom; width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">7,188,114</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">3,739</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 16%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">705,980</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 17%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">210,119</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 17%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">940,551</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 92%; text-align: justify;">Based on the voting results on Proposal 3, and consistent with the recommendation of the Board of Directors of &#8220;1 Year&#8221; as the frequency of shareholder advisory votes on executive compensation, the Company has determined to include an advisory vote on the compensation of the Company&#8217;s named executive officers in its proxy materials for each annual meeting of shareholders until the next required advisory vote on the frequency of shareholder advisory votes on executive compensation.</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 92%; text-align: justify;">Proposal 4: &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Ratification of the appointment of Moss Adams LLP as the Company&#8217;s independent registered public accountants for the year ending December&#xa0;31, 2023:</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: bottom; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 8pt;">For</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Against</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Abstain</div>
			</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Broker Non&#8209;votes</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td style="vertical-align: top; width: 10%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">9,037,974</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">4,638</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">5,891</td>
			<td style="vertical-align: bottom; width: 2%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 21%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">-</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM">&#xa0;</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink">&#xa0;</div>
</div>
</div>
</div>

<div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</div>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 100%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Item 9.01.</div>
			</td>
			<td style="vertical-align: middle; width: 92%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">FINANCIAL STATEMENTS AND EXHIBITS</div>
			</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: middle; width: 8%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: middle; width: 92%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: middle; width: 8%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">(d)</div>
			</td>
			<td style="vertical-align: middle; width: 92%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Exhibits</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: middle; width: 8%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
			<td style="vertical-align: middle; width: 92%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: right;">104&#xa0; &#xa0;</td>
			<td style="vertical-align: middle; width: 92%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<div style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cover Page Interactive Data File (embedded within the Inline XBRL document)</div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%">&#xa0;</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000" />
<div class="PGHDR" style="text-align: left; width: 100%">&#xa0;</div>
</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>SIGNATURE</b></div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 8pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized on June&#xa0;23, 2023.</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 46%;">&#xa0;</td>
			<td colspan="2" style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>NORTHWEST PIPE COMPANY</b></div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#xa0;</td>
			<td colspan="2" style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">(Registrant)</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#xa0;</td>
			<td style="vertical-align: top; width: 4%;">&#xa0;</td>
			<td style="vertical-align: bottom; width: 50%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#xa0;</td>
			<td style="vertical-align: top; width: 4%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">By</div>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0); vertical-align: top; width: 50%;">
			<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">/s/ Aaron Wilkins</div>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 46%;">&#xa0;</td>
			<td style="vertical-align: top; width: 4%;">&#xa0;</td>
			<td colspan="1" style="vertical-align: top; width: 50%;">
			<div style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Aaron Wilkins</b></div>

			<div style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"><b>Senior</b>&#xa0;<b>Vice</b>&#xa0;<b>President, C</b><b>hief</b>&#xa0;<b>Financial</b>&#xa0;<b>Officer, and Corporate</b>&#xa0;<b>Secretary</b></div>
			</td>
		</tr>

</tbody></table>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</div>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&#xa0;</div>
</div>
</div>
</div>


</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>2
<FILENAME>nwpx-20230622.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 6/23/2023 5:43:33 PM-->
<xsd:schema xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:nwpx="http://www.nwpx.com/20230622" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.nwpx.com/20230622">
<xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
<xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"/>
<xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
<xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd"/>
<xsd:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd"/>

<xsd:annotation>
<xsd:appinfo>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20230622_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20230622_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
<link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="nwpx-20230622_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
<link:roleType id="statement-document-and-entity-information" roleURI="http://www.nwpx.com/20230622/role/statement-document-and-entity-information">
<link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
<link:usedOn>link:calculationLink</link:usedOn>
<link:usedOn>link:definitionLink</link:usedOn>
<link:usedOn>link:presentationLink</link:usedOn>
</link:roleType>
</xsd:appinfo>
</xsd:annotation>
<xsd:element abstract="true" id="nwpx_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>3
<FILENAME>nwpx-20230622_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 6/23/2023 5:43:33 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
<link:roleRef roleURI="http://www.nwpx.com/20230622/role/statement-document-and-entity-information" xlink:href="nwpx-20230622.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:definitionLink xlink:role="http://www.nwpx.com/20230622/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
<link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>

<link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>


<link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
<link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
<link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
<link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
<link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
<link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
<link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
<link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
<link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
<link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
<link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
<link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
<link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
<link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_WrittenCommunications" xlink:type="arc"/>
<link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SolicitingMaterial" xlink:type="arc"/>
<link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementTenderOffer" xlink:type="arc"/>
<link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementIssuerTenderOffer" xlink:type="arc"/>
<link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
<link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
<link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
<link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
<link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
<link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>

</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>nwpx-20230622_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 6/23/2023 5:43:33 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
<link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
<link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document, Type</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document, Period End Date</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Registrant Name</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Incorporation, State or Country Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, File Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Tax Identification Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Address Line One</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, City or Town</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, State or Province</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Address, Postal Zip Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:label xlink:label="dei_WrittenCommunications-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Written Communications</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:label xlink:label="dei_SolicitingMaterial-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Soliciting Material</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:label xlink:label="dei_PreCommencementTenderOffer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:label xlink:label="dei_PreCommencementIssuerTenderOffer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Emerging Growth Company</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>

<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity, Central Index Key</link:label>
<link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>

</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>5
<FILENAME>nwpx-20230622_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome Portal - 6/23/2023 5:43:33 PM-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
<link:roleRef roleURI="http://www.nwpx.com/20230622/role/statement-document-and-entity-information" xlink:href="nwpx-20230622.xsd#statement-document-and-entity-information" xlink:type="simple"/>
<link:presentationLink xlink:role="http://www.nwpx.com/20230622/role/statement-document-and-entity-information" xlink:type="extended">
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
<link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>

<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>

<link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
<link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
<link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
<link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
<link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
<link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
<link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
<link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
<link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
<link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
<link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
<link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
<link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
<link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_WrittenCommunications" xlink:type="arc"/>
<link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SolicitingMaterial" xlink:type="arc"/>
<link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementTenderOffer" xlink:type="arc"/>
<link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_PreCommencementIssuerTenderOffer" xlink:type="arc"/>
<link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
<link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
<link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
<link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
<link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
<link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>

</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>6
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.2</span><table class="report" border="0" cellspacing="2" id="idm140196996243184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Document And Entity Information<br></strong></div></th>
<th class="th"><div>Jun. 22, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity, Registrant Name</a></td>
<td class="text">NORTHWEST PIPE COMPANY<span></span>
</td>
</tr>
<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_DocumentType', window );">Document, Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document, Period End Date</a></td>
<td class="text">Jun. 22,  2023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity, Incorporation, State or Country Code</a></td>
<td class="text">OR<span></span>
</td>
</tr>
<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">0-27140<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity, Tax Identification Number</a></td>
<td class="text">93-0557988<span></span>
</td>
</tr>
<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">201 NE Park Plaza Drive, Suite&#160;100<span></span>
</td>
</tr>
<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">Vancouver<span></span>
</td>
</tr>
<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">WA<span></span>
</td>
</tr>
<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">98684<span></span>
</td>
</tr>
<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">360<span></span>
</td>
</tr>
<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">397&#8209;6250<span></span>
</td>
</tr>
<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_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementTenderOffer', window );">Pre-commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_PreCommencementIssuerTenderOffer', window );">Pre-commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
</tr>
<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">NWPX<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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">0001001385<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<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 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementIssuerTenderOffer</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_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<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 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreCommencementTenderOffer</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_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_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<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> -Section 14a<br> -Number 240<br> -Subsection 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;">dei_SolicitingMaterial</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_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_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<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 425<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WrittenCommunications</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>nwpx20230413c_8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="nwpx-20230622.xsd" xlink:type="simple"/>
    <context id="d20238K">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001001385</identifier>
        </entity>
        <period>
            <startDate>2023-06-22</startDate>
            <endDate>2023-06-22</endDate>
        </period>
    </context>
    <dei:AmendmentFlag contextRef="d20238K">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="d20238K">0001001385</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="d20238K">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="d20238K">2023-06-22</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="d20238K">NORTHWEST PIPE COMPANY</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d20238K">OR</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="d20238K">0-27140</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="d20238K">93-0557988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d20238K">201 NE Park Plaza Drive, Suite&#160;100</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d20238K">Vancouver</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d20238K">WA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d20238K">98684</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d20238K">360</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d20238K">397&#x2011;6250</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="d20238K">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="d20238K">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="d20238K">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="d20238K">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="d20238K">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d20238K">NWPX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d20238K">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityEmergingGrowthCompany contextRef="d20238K">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>8
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M-^2!8ECFS_A[QA?_&\[Q$<+NOS^QO-9.&G_FB^$_7G\!4$L! A0#%     @
M!X+75@=!36*!    L0   !               ( !     &1O8U!R;W!S+V%P
M<"YX;6Q02P$"% ,4    "  '@M=6W@^+O.X    K @  $0
M@ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    "  '@M=6F5R<(Q &
M  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+
M 0(4 Q0    (  >"UU;<K@P:6@0  +(0   8              " @0T(  !X
M;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    "  '@M=6GZ ;\+$"
M  #B#   #0              @ &=#   >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0
M   (  >"UU:7BKL<P    !,"   +              "  7D/  !?<F5L<R\N
M<F5L<U!+ 0(4 Q0    (  >"UU8ZJJ+G0 $  #P"   /              "
M 6(0  !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  '@M=6)!Z;HJT   #X
M 0  &@              @ '/$0  >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E
M;'-02P$"% ,4    "  '@M=699!YDAD!  #/ P  $P              @ &T
L$@  6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     "0 ) #X"  #^$P     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<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>10
<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>11
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>0</UnitCount>
  <MyReports>
    <Report instance="nwpx20230413c_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.nwpx.com/20230622/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</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="8-K" original="nwpx20230413c_8k.htm">nwpx20230413c_8k.htm</File>
    <File>nwpx-20230622.xsd</File>
    <File>nwpx-20230622_def.xml</File>
    <File>nwpx-20230622_lab.xml</File>
    <File>nwpx-20230622_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>13
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "nwpx20230413c_8k.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/dei/2023": 22
   },
   "contextCount": 1,
   "dts": {
    "definitionLink": {
     "local": [
      "nwpx-20230622_def.xml"
     ]
    },
    "inline": {
     "local": [
      "nwpx20230413c_8k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "nwpx-20230622_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "nwpx-20230622_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "nwpx-20230622.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/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.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.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    }
   },
   "elementCount": 26,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2023": 2,
    "total": 2
   },
   "keyCustom": 0,
   "keyStandard": 22,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "nwpx",
   "nsuri": "http://www.nwpx.com/20230622",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "nwpx20230413c_8k.htm",
      "contextRef": "d20238K",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000 - Document - Document And Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.nwpx.com/20230622/role/statement-document-and-entity-information",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "nwpx20230413c_8k.htm",
      "contextRef": "d20238K",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 0,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document, Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document, Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity, Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity, Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity, Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity, Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity, Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity, Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity, File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity, Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity, Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity, Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://www.nwpx.com/20230622/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    }
   },
   "unitCount": 0
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r5": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r6": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>14
<FILENAME>0001437749-23-018263-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-23-018263-xbrl.zip
M4$L#!!0    (  >"UU:N=M%)9 ,  &X-   1    ;G=P>"TR,#(S,#8R,BYX
M<V3-5UMOVC 4?I^T_^#EW3C 6@E46E7K5B%U6]6+M+?*) >PEMB9[13Z[W?L
M7" EM(&':4\X/M]W;CX^QYQ=K-.$/(,V0LE)T.^% 0$9J5C(Q21XO*>7]U^F
MTX 8RV7,$R5A$D@57)Q__'#VB=)KD*"YA9C,7LC#,I<QZ"N5 KE5VO*$4'+*
M!D,V" =#<C+^/!P/A^3V.Z6.OC;QV$1+2#E!'Z09KV<Z$9-@:6TV9FRU6O7<
M3D_I!2H(ATQ(YT4$084W<0.]&E;8/OOU_>;>ZZ[!B9"_V^#]T6C$O+2"&IOI
M&NE=,!#U%NJ9.8D/IH+N*&UZ[,0S;FJ/8ZNI?<G M'-0S)S8F0AIV*>#?K"5
MF]@VO2K-G+!"6!L!T>X]"AK.1RJ75K^T@TMA@V!$M"<O(FIJSK7&*MJGNI0V
M*+".ENUP)VE Y2I;-Q+H-GJ12CTJ/!T, L*MU6*66_BF='H%<YXGF+U<_LEY
M(N8"8BSS!%*0M@'8$ENN%V!_\!1,QB-XQV!5T"+-L/*);*7M*^?B%MRHB%M_
M"_=2W!>M>-1MT?Z #OL]-!VP@WT8,:T28!(6[@IW\R/1NL%R7HR<%_W3CE[L
MNU%MULU>O%]1MSHF^-:;ML^!]YC^VQP2_<[-[5@!%<$E_>28=&]:0*=L5W"W
M."37;W223G:W*=7'T?8WS:E;A95PMS@^YF:+ZQ;T-J?^.MJ%K;;9R7R-]ZNF
MV=(PEU)9KZ-RA6>9D'/E/MVL&U<#[P[FQ,_4,=>1:Q=O3UZ6:96!M@+,]LST
M"I8:YOCFP(Y+JV[[E/!9#V=!!=DQT.R:OETA!9*;C7L5U]W=26 PIPD4*?Z7
M@<0P/S00I @IW"'\=]%D&@Z-!BD&AS _+!Y'?4 1$?@"Q&EH_22GL8IRO\"W
M*L5?85^H*T^=>OT!<;S'N^G;L[QPK+O6VJO-R10/E2X/P_,P#/&5?%7:V%Y>
MRIA\]>;(=&/NC+VR59O/#<0_Y;E?1SR)\J3.:DDJ$6V$9E6]CW]];CL,UC@H
MO_.J8;#VEE(^RPB?&:MYA(\RJW,L.W?4[JR>J@1A?HKT3+>/V'7%2? .1B38
M#EQQ%JI-CK:$S9WT6JL\FP3^O\A88 G@2] 78;&#/N$_HRGNN["P3/TN7A*A
MX@>/BW-=F&%UD$7_Q<^_4$L#!!0    (  >"UU:S'"2%UP0  .4L   5
M;G=P>"TR,#(S,#8R,E]D968N>&ULS5I=C^(V%'VOU/^0IL\A?.Q,.VC9%6+8
M%>K,#AI8M>I+99(+6.O8R'$&^/>UP\<P2^P8!J.\0(A/KL^Y_KHYXN/G54*\
M%^ I9K3C-VIUWP,:L1C36<?_/@JZH]Y@X'NI0#1&A%'H^)3YGS_]^LO'WX+@
M*U#@2$#L3=;>>)[1&/@]2\ ;,BX0\0+O-FRVPF:]V?)NVA]:[5;+&SX&@7J<
M8/JCK3XF* 5/TJ!I_K/CSX58M,-PN5S65A-.:HS/9(AZ*]RA_2U<M<9B_\ A
M^";<-.ZA1Z&7K1S;N+N["_/6/33%14 9M!'^\_@PBN:0H !3E9-(<4EQ.\UO
M/K (B3R1I1(\+4+]"G:P0-T*&LV@U:BMTMC?)P[QB#,"SS#UMI??GP?'F<!4
MA#%.PBTF1(1(PGF$.8>IEN@N?:K_&]7S[P=/BO5"3H,4)PL"?OA>2C%+$*9!
M LD$^)GD"F-<F"9.@*I5$FPZ.Y>I)LQER<YE-!YE$PCV_9W)UQ#)67YABC(B
MWI_@MW$T='=<?R:J>J++Q:H6L23?P.JWS6:84Y4+7X#L1<@QC++\0NZ.@?S&
M8BTWABGC2;X/O)6@H@6[2#G7DP-I-$BEF&(%?) _MUA%U8F:#0E8"9#;_<&6
M1%AT-&3I;LA3B&HS]A+&@//^U46>C,V@ ?ZOGW=X_V95$#0!TO%US1LF1.VZ
MC!_DXWI,BB?9Q1G=;T=F\#H:8S0A4,"N#'H]AG(NPD!.K=2.Y1'<$=,'F"&R
M&</N"A>1TR <9VXLPQLR==CLF,D0.&9QG\;W<F<P4"K$.5V3SS##J>"(BF\H
M*:)F@CEE-I!%,U\PGD_ED=I2>RRC@J][+-83M7K**>\OF,"W[+!L.B)Y#''*
M:(Q6@UB=/E.\J:9+Z)7@G7+MQC&'--U^J1VLH>5IP%Z#8T]>/O$Q6^J/-"WR
M&OSRV?_$AYR]X,UKE9&D!GX-ID,F2R;R+UX8E[8)[(BE&K@N!Z3A5=3LZHR5
M <EPSJA^;]%!'#'ZFV,A"]8>2Y*,;C>*HK/?B'/$;<0(CF3Y3F>/<E)SC$@!
M,3W($:LA!Y4%D*LKKS]4M<^?IM/"T2P'7X?E($TSX"=QU3[B:K0ARN0D6S>:
MDS$6A36\#N*(T9@CY?>-ULF$%4V]PG;'V>FOHCFB,]#4>2:8TS.@GP"?R61\
MY6PIYG(>+1!=:P\!(]H1SZZ<U+&:V%\(FA4P*VQWFK.>[(PC,I K;/47Z+.E
MP>FXO;H>71YYC,OUV_'K\JG<$6I'A*40=WS!L_W4V)I-Y[M]4\X2\TLB*[,K
M9!=E(AH7%_'6I3A+1;'5L5-SC4$Q>)&OBDK]#V;QDO^JZCQ=VYN,"EB)/LG/
MF8Z?PDQ=G*S[P'HWZCQV4-@IGM 5)V:17?\^:<?VB(6<9F7E&*P5"UVMRNDJ
M]V4L9'VHJ*P37!P+E3<55:FS@2PDW594DI5U9*'OCXKJ*[6<++3]66UM.K/*
M0ME=M949'2Z;L_I2I; C?09GS$9=]4H1O;]FHZ=ZM8C9H;/15+TZQ,+>LQ%6
MO4JDS!ZT456]RL/65K115[TBY#0CTD9C]0H1LY5IHZEZ!8C!#[415+VZH]Q-
MM7F9KFJ]86'"VLBK7L%A<')M!%6OXK"P@0_\QO G;3+LCT_[^^I#_8-6WOD?
M4$L#!!0    (  >"UU;V%(SF]P4  $,\   5    ;G=P>"TR,#(S,#8R,E]L
M86(N>&ULS5OO;^HV%/T^:?^#Q[YL4M.4LO>D5FV?$.U[0NL/5*@V[6F:0F+
M6N*+'-/"?S_; 4K #@G%SKZ40&[.N3GWQ-=.TJLO\R1&KYBE!.AUHWEZUD"8
MAA 1.KYNO/2]=K_3[390R@,:!3%0?-V@T/AR\^,/5S]YWC=,,0LXCM!P@0:3
M&8TPNX4$HQXP'L3(0Y_]\Y9_?G;>0I\N?VM=MEJH]^!Y\O"8T'\OY9]AD&(D
MTJ"I^GK=F' ^O?3]M[>WT_F0Q:? Q@+BK.6OHAO+<+DWXNL#-H,_^=G.=>@.
M]%M+Q38O+BY\M7<=FA)=H !M^G\^W/?#"4X"CU"I22AS2<EEJGZ\AS#@2LB]
MIX",$?*;MPKSY$]>\]QK-4_G:=18"\<@QL]XA.3GRW/7R'CARPB?XK$LTWTP
MQ+'(6$%,&![ICXL9RQTFL[B0630_RRQ^UJ'QQ51X(R7)-,8-_X-Y]C C$-W1
M(R>LA[60>9\'C-O(?1?XJ-D/0%RUQ\U[%_*X&8NA"Q\YXQW(HV;\B(_LC&W
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
M4HM=I[,=A_A"$FSXQZ=3B?I1_^S%._\"4$L#!!0    (  >"UU9/P9I>!!,
M +2U   4    ;G=P>#(P,C,P-#$S8U\X:RYH=&WM/6MSXKBRG\]4W?^@P][=
M)54\; ,AD Q5A) 9SB2$ G9G]GRY)6P1=&(L5C8)G%]_6[(--C&O!$+(>%X9
M6Z]6O]3=:ED7 V=HHLG0M.S/B8'CC,K9[-/34^8IEV'\/JN62J7L1-1)N)7*
MG/1#%2<];LJJFJ*<9J'4KR@*##JK&Z[G%OI5+4QU.US3)GKFGCUF91&TT7+!
M?NE2$')9:MD.MG0RJV\;43.#NFKVQ^U-1Q^0(?8KTXF3AJ%##7Q0J&52B_RX
M;-]D'8XMN\_X$#N46="76D@K9^F<.AL4JCXL1Z@H#0P9/9MUXVEI[72&0699
MXV%T/X;#L\YT1+)0*0VU"*>ZWVYLIT71'/E];/=D*[\DA/NQP\G]4MR7LE ^
MG]:R>FHN,+4 ()R92P"1)0(0):VH 2S;SHA'LXTH"4'^C!YAIA'%/6S/F(;:
M+*^IQ55LYM;P&P"2%S 930-_$IH:DA,G4DX*KIPX<U:FZUDYO2@ SF!L&80;
M;$A"K=M77ZXI3/S>SNAL&"#Q9@2>1"J,-; 8A$83# K"G&:G[S$>1;*#* A5
MUMG8<O@TNF>O,-2 +V$;+IA&/5O@,JHO83*JA\$8<TXL?1D<7FFH"9GH@^CJ
MHB14U>;.<VS RU EZVD4ECOQ0I!7UE).-2U1N1@0;%0N_IE.HR_$(AP[Q$"]
M*>JZ?'(%?():C#O81&ETFM5RLBTJE/.YLJ:AUBU*IRN?_G'A4,<D%3& [#NO
MYO3_.WO(P&)QD77+/OT#?E\,B8.1 "E-_A[3Q\^)&K,<8CGI+@A$ NGNT^>$
M0R9.UEUJLI6+K(3RTT6/&5-D.U,3F+</5=,V_2\I(U49.>=(ONCC(36G9?3;
MWV/FG'?ID-BH29Y0FPVQY;X\1R-L&,#J9:10"RD9E5KG""AB,UY&>.RP<\"+
M01_]D0QJCTP,G8+.)(G*_WRZH).R@(AP_X$:!K&\!ZC5=!6K.YV)TQ;+I"$0
M<_8M@2PL9 ]XO%P=$LN O\ZUB>\3E3XV;7*1#76Q=9]U"] ]K4&G')L-H.'D
M&YDF*@J((OS)G16>#P!#9!<G 6LW$1Q*;/%":,2R+:48QD5RR2H/Y.HO2)[V
M^2D#ZVO"*Q8:[G/"IL.12001O5'"'<L7-AMS[UFNYV5OBH@:\RG.2XF<X?R9
M&N)-GQ*.)(@D<L&N-;Z%L;#86 (8/<(($,6,^3.H,>Y<@:A4!'!IY32M:7[;
M>5D 8&-)9;]D/O1\J&P(%Y),,Q0&,)8-\6(6V!9^?@JR;U N?E^0B-_/YV(D
MI4@^/F).L>4 EX"189X/,;^G5ED4)RJ__3+!RKD[$(PSX/XP T+O!TX9Y483
MD"9F"F'Z19&_SE$/ZP_W')2OD5XL>J*&,Q RK/P*]1B'F;B2=HZ\@:%+!RF"
MAZ+&4W<_G@*_ V,NP>4"*C?!I*!D&IOTWBKKP&2$!W"+_+]G47@^" Q_-!O=
M^A7J=*O=>N=0H*@%"4NG7ONCW>@VZAU4;5ZA^H_:UVKS2QW5[FYO&YU.XZYY
M8 "_8WL BXK#K!2ZRM0R2%,*^=(ZH'8ND-M/7MO!Y"]ZE>N[]NU%MN?#L]6B
M=<7TL5@'I1$@.CM+?Q-]+:Y51X#-7; 2<'J[WNRB=KUUU^X>&)@6&$9C:(L<
MACI$%SXG4G/HK@T5DL8)8GTP%HDH&G/J4 "E#M8JMNX)JNJ.*%9+N?Q/0CFQ
MFHLIM\D(C&:4])\)AK6<V XBC] %XK*8&"=EM(F@N,[^YP2=.&4#>AQ"I8&!
MIU/HEEA1@M229D3=-2^D1/UK;)& >/8JFI9"8H CE;.=:*T76-9M<D]M$8)Q
MFE B4=L$(?WZO=[IHE:C)5>D5K7YUTOPNF?N3-8G&$123$DP)9]-!6$;V2.B
M"T/80. 44<=&(,3 H_SDS9G!P3V3>*;9YP0883HQ3<]GFSW;(ZS[SQ% K78
MG_F.0:,P(5U5<&F%MUFY<#@\BT?#'^>1<(?JV/30[K#1N=M>S6=.W?90_VU(
MO"$7!S2("&D*+\4A(\X>!2^$58C+Y@U+9QR4E(PQ=D3MFALZJ3'#Y?J["R"!
MY4]1PCB+3);'(W!D=&P3@ _8C%D765&[LD(H!,ZRCK$&V3WF.&SHX5O)E'X-
ML,_:QL= J45"7%.30(,>X1+K2EHKJGDEQN.V>.SB2</S]77)U &DEL M+Q2*
MI;.SS? */Z52>/^Z(2E%%S&.F#,@'/T';#3;H-**\_7MFP($RPX-JI:3GX=K
MDS4V'%+;/A3JA29!+M?_3%AOM#NH/AR9;$KX0? >5CNHR3(1Z/=4RB?XZ9H=
M66D%O6\;?!<VZ4MT>=4P.+%M[\<-M8@J];BFJ*A91RW,'U#+Q/_%Z(K31Y)"
MG3%UPMX/6'KOT$ 'P%Z!CQK\]XYWV9,E>_H3@Z(=/PJN?S[1U$:.YY*!Y*)R
MQUM@/U*QGR=&^UZ-&N8UH[086*GFO^EH9G*6SD[/\M%DZQV:=$D/:N%8C3B@
MA8ZPB<B$Z&,'>!!>@P8  +!E()@3$I-Z>]?J,+B9^\R_V\@A)AD-F$60)=>B
ME# (S+%P[A#F! ./&*3\DBBBX/\J]##CE]QII)#_]LN9II2V[/R&P9K6$G '
M#,=<J>AJ%;?#7N54*[Q(K[P5H=$BI9^[PJ&1D#<4"I ;C$@;UK-I8+_$C5H.
MB/Z P,Q$> 2N)0B!,#U[;()ZQ&1/B/9EX37TZ )[YN'M&^K+U -$;> %AU@&
M,42TT:;#L>E@B["Q;4Z1#>NGW9_*3KP&K <0N<LJ<WL/Q#3D!C;(V]0OZS,3
MX!#MA.=+A2%FE^/HQJ;VFY91UYEOKT?62X(9/<;,'@;:PIPF09G]SJD#["3L
M[K'EV5^V($BIF,^?O\I_GJ,EG]N+61O"BC<10$=P)F@4",VWQR9Q.2VO%3S>
M=\)Q>1&.3ZI%MU;MNNW^1\LI&6CR/FW26%C>3%@ZS*0Z,(IU?PMZ&P8UCU%2
MYK. U<F=QA(Q4?,XK6H!20EM6T7(25[)N&UB4?G)1:7%B5A31!:3W+46%@N_
MZ_>%57A\(@.S2>N!Z6RVRJAY(ZTE>R?;"I#;*A:A6(2"(M2P[3'A/Z<@Y4@Z
MG]2W%22OU?L4I+V$&7RW<VFZ6L#4==U PL&1'#W/7_$0+]67YQL"IF-7<(TT
M#:EAF,2/YA<S9P?8^7NVYVP0W=M**KL2) Z3S%#=%:GG;@*./D"ZB6T;>5O1
M;H7-_]U*\811I:Q7SX=$59=C&7WK3(<]9B;MDS"*7C'QH^"1II<.(UF$^*J7
M6>AI0.%-0)6LX9S7;!2_![QMN_G@Z=NIJO6DG,DNQ*H.N.LX3'^(WG@888X>
ML3DFZ'^5C**BD4C<'V!. E'\XY&RK3#F29HK:&[NV/?6CU<G<QP/\RS:AT+<
MGJ<@^8SEVT'S3#ML&_COR(VF+R8#0Q-6>!/6>'2+^0-QHAGJ_=I'^XS.-RQ#
M&*)$'.[29:1^*+9)GP9$)H8LQ,ZIV*A"8,6*+N[1/6=/SD#8LR,13\<V,D@?
M=*C,%0Q$'I6";T\MA!W=+. <2O[VBWI:=&..?F4J4PU'(M50)*H$+&.ME]8B
M.HS*+Y[U+&SC>;M WYD/M0?#Q>&711K7H^D57*-0Z&&G+IV[>>O#\$6"4',A
M6.?-?0R:+).\_@I9$KN?D8))G^UG#4#LI'8#L;.8]&?&-I&U  AOUTQD8%*Y
M(>:>)!/DDV.94S'X$X6AA0A;,%,HX>21VM .A!E;N@B68EV>D165Q6E= W/#
M=O?+C)7.5"Z)9\Y44$ S:+E9[;'$X4BS]C#;'@Z7K3S,MH?#<YL=9MN+H$E_
MZW.B]>7RV\QW#4'L=I V2=]Q2>*_X2XZX%6BLM!7\X_;1,BZ]TCL625!E*P@
M<*OZI9Z^;->KW]+5ZVZ]74;8?,)3>Q&+(7!]*FE;46F.]]D<OEZU(^<@$+%J
M!G&$8K4AC$3 S^]A'U9P.+'/(5XF0R&C%+>RV$. EK2][XK]<>D=DD1WU^BV
MV@6.[Z#N':JB/^^Z=?'2.U_Y%_IZ=W,%I:]Q9I^38>-TT0C$A-L>"HK]N5//
MXYHP7-5QPY*6-89%^980N2+#^MH1GO* F2"0,M>LR;@S>!)'RUIT1)!G<*&D
M:"WR:S3EO.:;@?"DGI^(T(8X#>8%D[UC8"DY7J"J6CRW7;_<&ZV,DO3$;>2;
M(<Z $X(,RN&1<5">2>I7D3E C\1(B>' _L$&6!J,3T%/VM1V1Q-V";%L-X%G
MA*G,^HD"0QB9QK-D.F_ 34?TL*&ZM?\BF'L8$?Z,S _BY.^Q^"J':R:YX9\
M.( --C8-+U^-S =X9 ZQW6YAZ#F8H?F!I]0?.V-.A#4U$9^Q$"?Y8-&"68BD
MP"1]]"8B0E7R():72\6HY<C]!"#W+;/!HS+PT!OOYJ;E@[^(-# LR4B8A?+
M82 >WC/!UO?L/&!)6]J(H@=QGA!!"\%J5T0G(L_-'2:GNER2 :O/$?4!/VY6
M%_"'; LX$,TXL<>FUZ4,J+DFH2UG/6(V-NV9(_:V$A5>V?:Z#>1.%*GE%;:O
M^+=N>N=I)9) E-S7,WDJOS1X$;1REYC+FRS.2\R!'=L *=?"3R$;/);^MA;!
MKD=+K%L:O-,0<ZA^W1RCZP=?OD2Y1EC:'5YZ)LAF)NA,?M]+*BDD_IR<HS7@
MYG8+[BHY>A7-HUVZL/?69$-J$;*=X;6 #^VHJ*>>'3/UHKRU,$6O&8^I^6&H
M^1VLJ $QC9BD'X:DEYP]$ Y.A^7E[DO3=Z6ON'/8GP=:!(DT)0\F:NX,_BD4
M3M8OXT$/;Z=K^#+X"@4)V@R^S9W1#[R$-^ ENF'Z Z?&/0&O]8EYC"5]$>#
MX79G50^E/MY2+T3)::)23)5R6DK+YV(LK<"26BRDBDHIQM$*')7R2JI04%?H
M\@U5W*%4\/M1KAT=ND>W\)Z+P$U2>OGIH&Z+^7"%1E.+Q=2I^"I'C*7ETII3
M4MII/L;1/C1:;%2^C!G^Q086:F%;'V SUGI;\6H!.%5+%34UQM(*+&F I4)*
MR\58VE[OQ4>L7I%0\/(]Y,B$I,!VD;9NNZ@:W&]$2W<:R^^.W/&&T?%N&&GJ
M,4>;UD0T%PZ0_5S;#Q^:LB*%YAZ+&V=BBGX<BO9L!V@:4_3#4#3>3SJ\Z[]3
M'EL6R2LHQ52^>,1Q]S? 4JYXFBKEBC&.5OG]6BY5R)W&.(J]_H_A]>?*H8-Y
M_H]GOGXX09GU@ZG9"YG(<6@@#@V\2;+3Z0<V3A=" RH2!P9^(L]CI\1=LI9+
MG-HQ*G=@.KX+5$;#MG?T%O<^A5G@X:-SZBY1^=XT>AQN>!?AAC?0AL64>G:6
M4M5C3HIY@S4C5<P=<4#F+?A(*:1*9\J1K:J'7RXU50'I.V;>VC^.XB#-^P_2
M7&+Q;1PO^+)PP!G>SF,X*7F"6V>6+4Y96XY[@-S]?H_[15@C=$O%)</<$ ]7
M_E%?\> ?4$<KSZ:_,/03.M\OOR5D$)&,)[_BY;#YH78KW*4__=!9=F\:FQ[3
M]V\4=0^^^]]E#QP2Q^YG#H;SSQP$/SR Q/>(3#FB!71" A54'&6/!/35F,K$
M,OF.97(F=/EUZ5)M'+AUS>/8I5]30&_\(84X$AM'8N,T@3A)ZZ>F;)RD]1$I
M&B=I?3"*QE'3PT=-WR)M)*7DBJE2\8BCIF^ I7SJ-'?$!U+? $.%U%GIB(]E
M?71MGGZW7\3?R^>"K[O1G]J-_%QPJ.V@G^;LZ?E+X1@C]SO$D5_G/>:O#6^.
M@.Y=[89:#RM1L/;3WL_8:"W7A[YLN#B9.+*Q/B1WO*IMX<M!#AFB4D91,]MY
M&MY=*:%(XP=!R76C66W6&M4;U.E6N_7;>K/;0=7F%:K_^-JX;'17?]/YS1ES
M@1*[Y<W-E__],L32CU=_+'0?E.^3QI;?"/O .J ^&= >=59[Y[%DOBO)W-<*
M'7%A4**B*OG028/#$^*@\E)C,%G4PO<$-81#@'6Y'WR%'8RN*1B/2;%Y9XB[
M;\2>/G7WF!N6N$$0_;ALWR"#Z6.QG_A^;V*-KV$Y]FM8]GDU4G24X*)7Z32^
M-*O=/]KUP#5Z!Y_RXHPW&&6;*X1;@?NMW/0=F6HBKVG8\":Z5-2]7<;8G"(=
MCVUYJP,5%Q2/&)?#] BR 38WT4ADR?3( )M]<1V8Z$C>5^I5&!!.QA:TD=WA
ML3-@'*9N+-SHD?/N:HAO"]IBX<V?+DE7 2TB;GW]G- 2&_6S[[M\Q#68=^WN
MU^_U3A>U&JTZJMW=MJK-OU;>=KGM?3E'@XYD>R9IRU?@G<U^TQF_./I<4'9V
MY=&K)[%/LEU.5[ML+]R9#<ZAH*R;Q):Z9A-[,FMG415S4,C?J?E K=<Y8OOF
MR9DPJQL)\WJ,[D"Y+6!O;GJ\(2%G?TLS-XK*_+\R2I=F]A&QJ,A%ZOF8[57^
MI#H)O6AQ8E/1,(5J<BZ]RH"2?JC.M7_W9NCMG9L[ZV86UQ@?B1O,PYV#(<*)
M@_GTV.XY/NIQ/._AIMKIIN?N2^2^TT[WDWP@X#\>.0?.T*S\/U!+ 0(4 Q0
M   (  >"UU:N=M%)9 ,  &X-   1              "  0    !N=W!X+3(P
M,C,P-C(R+GAS9%!+ 0(4 Q0    (  >"UU:S'"2%UP0  .4L   5
M      "  9,#  !N=W!X+3(P,C,P-C(R7V1E9BYX;6Q02P$"% ,4    "  '
M@M=6]A2,YO<%  !#/   %0              @ &="   ;G=P>"TR,#(S,#8R
M,E]L86(N>&UL4$L! A0#%     @ !X+75K_MW&%T!   ?2T  !4
M     ( !QPX  &YW<'@M,C R,S V,C)?<')E+GAM;%!+ 0(4 Q0    (  >"
MUU9/P9I>!!,  +2U   4              "  6X3  !N=W!X,C R,S T,3-C
=7SAK+FAT;5!+!08     !0 % $H!  "D)@     !

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