0001437749-20-009449.txt : 20200505 0001437749-20-009449.hdr.sgml : 20200505 20200505162111 ACCESSION NUMBER: 0001437749-20-009449 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 62 CONFORMED PERIOD OF REPORT: 20200331 FILED AS OF DATE: 20200505 DATE AS OF CHANGE: 20200505 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Proto Labs Inc CENTRAL INDEX KEY: 0001443669 STANDARD INDUSTRIAL CLASSIFICATION: FABRICATED STRUCTURAL METAL PRODUCTS [3440] IRS NUMBER: 000000000 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-35435 FILM NUMBER: 20849180 BUSINESS ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 BUSINESS PHONE: 763-479-7474 MAIL ADDRESS: STREET 1: 5540 Pioneer Creek CITY: Maple Plain STATE: MN ZIP: 55359 10-Q 1 prlb20200331_10q.htm FORM 10-Q prlb20190630_10q.htm
0001443669 Proto Labs Inc false --12-31 Q1 2020 1,821 952 0.001 0.001 10,000,000 10,000,000 0 0 0 0 0.001 0.001 150,000,000 150,000,000 26,648,524 26,648,524 26,786,459 26,786,459 6 4 5 4 5 0 3 4.6 00014436692020-01-012020-03-31 xbrli:shares 00014436692020-04-30 thunderdome:item iso4217:USD 00014436692020-03-31 00014436692019-12-31 iso4217:USDxbrli:shares 00014436692019-01-012019-03-31 0001443669us-gaap:CommonStockMember2019-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2019-12-31 0001443669us-gaap:RetainedEarningsMember2019-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-31 0001443669us-gaap:CommonStockMember2020-01-012020-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2020-01-012020-03-31 0001443669us-gaap:RetainedEarningsMember2020-01-012020-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-03-31 0001443669us-gaap:CommonStockMember2020-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2020-03-31 0001443669us-gaap:RetainedEarningsMember2020-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-31 0001443669us-gaap:CommonStockMember2018-12-31 0001443669us-gaap:AdditionalPaidInCapitalMember2018-12-31 0001443669us-gaap:RetainedEarningsMember2018-12-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-31 00014436692018-12-31 0001443669us-gaap:CommonStockMember2019-01-012019-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2019-01-012019-03-31 0001443669us-gaap:RetainedEarningsMember2019-01-012019-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-03-31 0001443669us-gaap:CommonStockMember2019-03-31 0001443669us-gaap:AdditionalPaidInCapitalMember2019-03-31 0001443669us-gaap:RetainedEarningsMember2019-03-31 0001443669us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-03-31 00014436692019-03-31 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2020-03-31 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2019-12-31 utr:Y 0001443669us-gaap:MarketingRelatedIntangibleAssetsMember2020-01-012020-03-31 0001443669us-gaap:NoncompeteAgreementsMember2020-03-31 0001443669us-gaap:NoncompeteAgreementsMember2019-12-31 0001443669us-gaap:NoncompeteAgreementsMembersrt:MinimumMember2020-01-012020-03-31 0001443669us-gaap:NoncompeteAgreementsMembersrt:MaximumMember2020-01-012020-03-31 0001443669us-gaap:NoncompeteAgreementsMember2020-01-012020-03-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2020-03-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2019-12-31 0001443669us-gaap:ComputerSoftwareIntangibleAssetMember2020-01-012020-03-31 0001443669us-gaap:CustomerRelationshipsMember2020-03-31 0001443669us-gaap:CustomerRelationshipsMember2019-12-31 0001443669us-gaap:CustomerRelationshipsMembersrt:MinimumMember2020-01-012020-03-31 0001443669us-gaap:CustomerRelationshipsMembersrt:MaximumMember2020-01-012020-03-31 0001443669us-gaap:CustomerRelationshipsMember2020-01-012020-03-31 0001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2020-03-31 0001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2020-03-31 0001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2020-03-31 0001443669us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-31 0001443669us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-31 0001443669us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2019-12-31 0001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2020-03-31 0001443669us-gaap:CorporateDebtSecuritiesMember2020-03-31 0001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2020-03-31 0001443669us-gaap:BankTimeDepositsMember2020-03-31 0001443669us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2020-03-31 0001443669us-gaap:USStatesAndPoliticalSubdivisionsMember2019-12-31 0001443669us-gaap:CorporateDebtSecuritiesMember2019-12-31 0001443669us-gaap:USGovernmentAgenciesDebtSecuritiesMember2019-12-31 0001443669us-gaap:BankTimeDepositsMember2019-12-31 0001443669us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2019-12-31 xbrli:pure 0001443669prlb:ESPPMember2020-01-012020-03-31 utr:M 0001443669us-gaap:EmployeeStockOptionMembersrt:MinimumMember2020-01-012020-03-31 0001443669us-gaap:EmployeeStockOptionMembersrt:MaximumMember2020-01-012020-03-31 0001443669us-gaap:EmployeeStockOptionMember2020-01-012020-03-31 0001443669us-gaap:EmployeeStockOptionMember2019-01-012019-03-31 0001443669us-gaap:EmployeeStockOptionMember2020-03-31 0001443669us-gaap:RestrictedStockMembersrt:MinimumMember2020-01-012020-03-31 0001443669us-gaap:RestrictedStockMembersrt:MaximumMember2020-01-012020-03-31 0001443669us-gaap:RestrictedStockMember2019-12-31 0001443669us-gaap:RestrictedStockMember2020-01-012020-03-31 0001443669us-gaap:RestrictedStockMember2020-03-31 0001443669us-gaap:PerformanceSharesMember2020-03-31 0001443669us-gaap:PerformanceSharesMember2020-01-012020-03-31 0001443669us-gaap:PerformanceSharesMember2019-12-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2019-12-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2018-12-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2020-01-012020-03-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2019-01-012019-03-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2020-03-31 0001443669us-gaap:AccumulatedTranslationAdjustmentMember2019-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2020-01-012020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2019-01-012019-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2020-01-012020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2019-01-012019-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2020-01-012020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2019-01-012019-03-31 0001443669us-gaap:OperatingSegmentsMember2020-01-012020-03-31 0001443669us-gaap:OperatingSegmentsMember2019-01-012019-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2020-01-012020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:CorporateUnallocatedAndJapanSegmentMember2019-01-012019-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:UnitedStatesSegmentMember2019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:EuropeSegmentMember2019-12-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2020-03-31 0001443669us-gaap:OperatingSegmentsMemberprlb:JapanSegmentMember2019-12-31 0001443669us-gaap:OperatingSegmentsMember2020-03-31 0001443669us-gaap:OperatingSegmentsMember2019-12-31
 

 

Table of Contents

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

 


 

FORM 10-Q

 

(Mark One)

 

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the quarterly period ended March 31, 2020

 

or

 

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

 

For the transition period from                      to                      

Commission File Number: 001-35435

 

Proto Labs, Inc.

(Exact name of registrant as specified in its charter)

 

Minnesota

41-1939628

(State or other jurisdiction of incorporation or organization)

(I.R.S. Employer Identification No.)

 

 

5540 Pioneer Creek Drive

 

Maple Plain, Minnesota

55359

(Address of principal executive offices)

(Zip Code)

 

(763479-3680

(Registrant’s telephone number, including area code)

 

Not Applicable

(Former name, former address and former fiscal year, if changed since last report)

  

Securities registered pursuant to Section 12(b) of the Act:

 

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, Par Value $0.001 Per Share

PRLB

New York Stock Exchange

 

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.  ☑Yes ☐No

 

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).  ☑Yes ☐No

 

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See the definitions of "large accelerated filer," "accelerated filer," "smaller reporting company," and "emerging growth company" in Rule 12b-2 of the Exchange Act.

 

Large accelerated filer

Accelerated filer     

Non-accelerated filer

☐    

 

Smaller reporting company

Emerging growth company

    

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐

 

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes ☑No

 

Indicate the number of shares outstanding of each of the issuer’s classes of common stock, as of the latest practicable date: 26,612,751 shares of Common Stock, par value $0.001 per share, were outstanding at April 30, 2020.

 

 

 

PART I. FINANCIAL INFORMATION

 

Item 1. Financial Statements

 

 

Proto Labs, Inc.

Consolidated Balance Sheets

(In thousands, except share and per share amounts)

 


 

   

March 31,

   

December 31,

 
   

2020

   

2019

 
   

(Unaudited)

         

Assets

               

Current assets

               
Cash and cash equivalents   $ 91,905     $ 125,225  
Short-term marketable securities     38,194       35,437  
Accounts receivable, net of allowance for doubtful accounts of $1,821 and $952 as of March 31, 2020 and December 31, 2019, respectively     62,091       57,450  
Inventory     10,507       10,075  
Prepaid expenses and other current assets     9,777       8,232  

Total current assets

    212,474       236,419  
Property and equipment, net     268,001       263,712  
Goodwill     128,752       128,752  
Other intangible assets, net     16,615       17,369  
Long-term marketable securities     37,077       12,960  
Operating lease assets     10,548       11,425  
Other long-term assets     4,623       3,030  

Total assets

  $ 678,090     $ 673,667  
                 

Liabilities and shareholders' equity

               

Current liabilities

               
Accounts payable   $ 18,219     $ 16,804  
Accrued compensation     12,460       15,058  
Accrued liabilities and other     12,950       11,057  
Current operating lease liabilities     3,254       3,340  
Income taxes payable     414       1,322  

Total current liabilities

    47,297       47,581  
Long-term operating lease liabilities     7,871       8,565  
Long-term deferred tax liabilities     29,652       26,283  
Other long-term liabilities     5,530       5,448  

Total liabilities

    90,350       87,877  
                 

Shareholders' equity

               

Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of March 31, 2020 and December 31, 2019

    -       -  
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 26,648,524 and 26,786,459 shares as of March 31, 2020 and December 31, 2019, respectively     27       27  
Additional paid-in capital     268,574       268,059  
Retained earnings     329,137       324,722  
Accumulated other comprehensive loss     (9,998 )     (7,018 )

Total shareholders' equity

    587,740       585,790  

Total liabilities and shareholders' equity

  $ 678,090     $ 673,667  

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Proto Labs, Inc.

Consolidated Statements of Comprehensive Income

(In thousands, except share and per share amounts)

(Unaudited)

 


 

   

Three Months Ended

 
   

March 31,

 
   

2020

   

2019

 
                 

Statements of Operations:

               

Revenue

  $ 115,108     $ 113,452  

Cost of revenue

    57,008       54,592  

Gross profit

    58,100       58,860  

Operating expenses

               

Marketing and sales

    18,180       18,577  

Research and development

    8,987       8,013  

General and administrative

    14,108       12,822  

Total operating expenses

    41,275       39,412  

Income from operations

    16,825       19,448  

Other income, net

    1,054       213  

Income before income taxes

    17,879       19,661  

Provision for income taxes

    3,895       4,150  

Net income

  $ 13,984     $ 15,511  
                 

Net income per share:

               

Basic

  $ 0.52     $ 0.58  

Diluted

  $ 0.52     $ 0.57  
                 

Shares used to compute net income per share:

               

Basic

    26,776,806       26,963,366  

Diluted

    26,929,640       27,177,039  
                 

Comprehensive Income (net of tax)

               

Comprehensive income

  $ 11,004     $ 15,987  

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Proto Labs, Inc.

Consolidated Statements of Shareholders' Equity

(In thousands, except share amounts)

 


 

   

Common Stock

   

Additional

           

Accumulated Other

         
                   

Paid-In

   

Retained

   

Comprehensive

         
   

Shares

   

Amount

   

Capital

   

Earnings

   

Loss

   

Total

 
                                                 

Balance at January 1, 2020

    26,786,459       27       268,059       324,722       (7,018 )     585,790  

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

    23,525       -       (902 )     -       -       (902 )

Stock-based compensation expense

    -       -       3,033       -       -       3,033  

Repurchases of common stock

    (161,460 )     -       (1,616 )     (9,569 )     -       (11,185 )

Net income

    -       -       -       13,984       -       13,984  

Other comprehensive income

                                               

Foreign currency translation adjustment

    -       -       -       -       (2,980 )     (2,980 )

Comprehensive income

                                            11,004  

Balance at March 31, 2020

    26,648,524     $ 27     $ 268,574     $ 329,137     $ (9,998 )   $ 587,740  

 

   

Common Stock

   

Additional

           

Accumulated Other

         
                   

Paid-In

   

Retained

   

Comprehensive

         
   

Shares

   

Amount

   

Capital

   

Earnings

   

Loss

   

Total

 
                                                 

Balance at January 1, 2019

    26,984,747       27       258,502       291,460       (8,492 )     541,497  

Common shares issued on exercise of options and other, net of shares withheld for tax obligations

    19,950       -       (420 )     -       -       (420 )

Stock-based compensation expense

    -       -       3,040       -       -       3,040  

Repurchases of common stock

    (157,716 )     -       (1,511 )     (15,798 )     -       (17,309 )

Net income

    -       -       -       15,511       -       15,511  

Other comprehensive income

                                               

Foreign currency translation adjustment

    -       -       -       -       476       476  

Comprehensive income

                                            15,987  

Balance at March 31, 2019

    26,846,981     $ 27     $ 259,611     $ 291,173     $ (8,016 )   $ 542,795  

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Proto Labs, Inc.

Consolidated Statements of Cash Flows

(In thousands)

(Unaudited)

 


 

   

Three Months Ended

 
   

March 31,

 
   

2020

   

2019

 
                 

Operating activities

               

Net income

  $ 13,984     $ 15,511  

Adjustments to reconcile net income to net cash provided by operating activities:

               
Depreciation and amortization     7,958       7,439  
Stock-based compensation expense     3,033       3,040  
Deferred taxes     3,392       379  
Amortization of held-to-maturity securities     55       16  
Other     (644 )     236  

Changes in operating assets and liabilities:

               
Accounts receivable     (5,084 )     (2,386 )
Inventories     (537 )     739  
Prepaid expenses and other     (1,240 )     (211 )
Income taxes     (841 )     3,006  
Accounts payable     1,739       (805 )
Accrued liabilities and other     595       (8,962 )

Net cash provided by operating activities

    22,410       18,002  
                 

Investing activities

               
Purchases of property, equipment and other capital assets     (13,421 )     (12,735 )
Purchases of other assets and investments     (3,000 )     (4,000 )
Purchases of marketable securities     (37,629 )     -  
Proceeds from maturities of marketable securities     10,700       17,006  

Net cash (used in) provided by investing activities

    (43,350 )     271  
                 

Financing activities

               
Proceeds from exercises of stock options     135       174  
Purchases of shares withheld for tax obligations     (1,048 )     (594 )
Repurchases of common stock     (11,185 )     (17,309 )

Net cash used in financing activities

    (12,098 )     (17,729 )
Effect of exchange rate changes on cash and cash equivalents     (282 )     (240 )

Net (decrease) increase in cash and cash equivalents

    (33,320 )     304  

Cash and cash equivalents, beginning of period

    125,225       85,046  

Cash and cash equivalents, end of period

  $ 91,905     $ 85,350  

 


 

The accompanying notes are an integral part of these consolidated financial statements.

 

 

 

Note 1 – Basis of Presentation

 

The unaudited interim Consolidated Financial Statements of Proto Labs, Inc. (Protolabs, the Company, we, us or our) have been prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, the accompanying financial statements reflect all adjustments necessary for a fair presentation of the Company’s statements of financial position, results of operations and cash flows for the periods presented. Except as otherwise disclosed herein, these adjustments consist of normal, recurring items. Operating results for interim periods are not necessarily indicative of results that may be expected for the fiscal year as a whole.

 

The preparation of the financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses, and the related disclosures at the date of the financial statements and during the reporting period. Actual results could materially differ from these estimates. For further information, refer to the audited Consolidated Financial Statements and Notes thereto included in the Company’s Annual Report on Form 10-K for the year ended  December 31, 2019 as filed with the Securities and Exchange Commission (SEC) on February 26, 2020.

 

The accompanying Consolidated Balance Sheet as of December 31, 2019 was derived from the audited Consolidated Financial Statements but does not include all disclosures required by U.S. GAAP for a full set of financial statements. This Form 10-Q should be read in conjunction with the Company’s Consolidated Financial Statements and Notes included in the Annual Report on Form 10-K filed on February 26, 2020 as referenced above.

  

 

 

Note 2 – Recent Accounting Pronouncements

 

Recently Adopted Accounting Pronouncements

 

During the first quarter of 2020, the Company adopted the Financial Accounting Standards Board (FASB) Accounting Standards Update (ASU) 2016-13, Financial Instruments – Credit Losses, which is intended to provide financial statement users with more decision-useful information about the expected credit losses on financial instruments held by a reporting entity at each reporting date. The adoption of this guidance had no material impact on our consolidated financial statements. 

 

During the fourth quarter of 2019, the Company early adopted the FASB ASU 2017-04, Intangibles – Goodwill and Other, which is intended to simplify the subsequent measurement of goodwill. The adoption of this guidance had no material impact on our consolidated financial statements.

 

 

 

 

Note 3 – Net Income per Common Share

 

Basic net income per share is computed based on the weighted-average number of common shares outstanding. Diluted net income per share is computed based on the weighted-average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options, restricted stock units and restricted stock awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. Performance stock units are excluded from the calculation of dilutive potential common shares until the performance conditions have been satisfied.

 

The table below sets forth the computation of basic and diluted net income per share:

 


 

   

Three Months Ended

 
   

March 31,

 

(in thousands, except share and per share amounts)

 

2020

   

2019

 

Net income

  $ 13,984     $ 15,511  
                 

Basic - weighted-average shares outstanding:

    26,776,806       26,963,366  

Effect of dilutive securities:

               

Employee stock options and other

    152,834       213,673  

Diluted - weighted-average shares outstanding:

    26,929,640       27,177,039  

Net income per share:

               

Basic

  $ 0.52     $ 0.58  

Diluted

  $ 0.52     $ 0.57  

 


 

 

 

Note 4 – Goodwill and Other Intangible Assets

 

There were no changes in the carrying amount of Goodwill during the three months ended March 31, 2020.

 

Intangible assets other than goodwill at  March 31, 2020 and December 31, 2019 were as follows:

 


 

   

March 31, 2020

   

December 31, 2019

   

Useful

 

Weighted Average

(in thousands)

 

Gross

   

Accumulated Amortization

   

Net

   

Gross

   

Accumulated Amortization

   

Net

   

Life (in years)

 

Useful Life Remaining (in years)

Intangible assets with finite lives:

                                                       

Marketing assets

  $ 930     $ (550 )   $ 380     $ 930     $ (527 )   $ 403     10.0   4.0

Non-compete agreement

    270       (226 )     44       270       (222 )     48     2.0 - 5.0   2.8

Software technology

    13,229       (2,618 )     10,611       13,229       (2,275 )     10,954     10.0   7.8

Customer relationships

    10,070       (4,490 )     5,580       10,070       (4,106 )     5,964     6.0 - 9.0   3.6

Total intangible assets

  $ 24,499     $ (7,884 )   $ 16,615     $ 24,499     $ (7,130 )   $ 17,369          

 


 

Amortization expense for intangible assets was $0.8 million and $0.9 million for the three months ended  March 31, 2020 and 2019, respectively.

 

Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:

 


 

(in thousands)

 

Estimated Amortization Expense

 
Remaining 2020   $ 2,262  
2021     3,016  
2022     3,016  
2023     2,813  
2024     1,400  
Thereafter     4,108  

Total estimated amortization expense

  $ 16,615  

 


 

 

 

Note 5 – Fair Value Measurements

 

Accounting Standards Codification (ASC 820), Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy that requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:

 

Level 1—Quoted prices in active markets for identical assets or liabilities.

 

Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.

 

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

 

The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs.

 

The following table summarizes financial assets as of  March 31, 2020 and December 31, 2019 measured at fair value on a recurring basis: 

 


 

   

March 31, 2020

   

December 31, 2019

 

(in thousands)

 

Level 1

   

Level 2

   

Level 3

   

Level 1

   

Level 2

   

Level 3

 

Financial Assets:

                                               

Cash and cash equivalents

                                               
Money market mutual fund   $ 31,291     $ -     $ -     $ 68,962     $ -     $ -  

Total

  $ 31,291     $ -     $ -     $ 68,962     $ -     $ -  

 


 

 

Note 6 – Marketable Securities

 

The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as held-to-maturity and are recorded at amortized cost, net of an allowance for credit losses. Categorization as held-to-maturity is based on the Company’s ability and intent to hold these securities to maturity. The following table summarizes information regarding the Company’s short-term and long-term marketable securities as of  March 31, 2020 and December 31, 2019:

 


 

   

March 31, 2020

 

(in thousands)

 

Cost

   

Unrealized Gains

   

Unrealized Losses

   

Fair Value

 
U.S. municipal securities   $ 12,704     $ 19       (14 )   $ 12,709  
Corporate debt securities     35,100       45       (239 )     34,906  
U.S. government agency securities     20,801       61       -       20,862  
Certificates of deposit/time deposits     3,697       31       (2 )     3,726  
Commercial paper     2,969       11       -       2,980  

Total marketable securities

  $ 75,271     $ 167     $ (255 )   $ 75,183  

 


 

 


 

   

December 31, 2019

 

(in thousands)

 

Cost

   

Unrealized Gains

   

Unrealized Losses

   

Fair Value

 

U.S. municipal securities

  $ 10,204     $ 9     $ (3 )   $ 10,210  

Corporate debt securities

    26,944       80       (12 )     27,012  

U.S. government agency securities

    6,274       1       (7 )     6,268  

Certificates of deposit/time deposits

    1,484       22       -       1,506  
Commercial paper     3,491       -       -       3,491  

Total marketable securities

  $ 48,397     $ 112     $ (22 )   $ 48,487  

 


 

Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements. 

 

Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.

 

The  March 31, 2020 balance of held-to-maturity debt securities by contractual maturity is shown in the following table at amortized cost, net of an allowance for credit losses. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.

 


 

   

March 31,

 

(in thousands)

 

2020

 

Due in one year or less

  $ 38,194  

Due after one year through five years

    37,077  

Total marketable securities

  $ 75,271  

 


 

 

Note 7 – Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the average-cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

The Company’s inventory consisted of the following as of the dates indicated:

 


 

   

March 31,

   

December 31,

 

(in thousands)

 

2020

   

2019

 
Raw materials   $ 10,237     $ 9,818  
Work in process     499       501  

Total inventory

    10,736       10,319  
Allowance for obsolescence     (229 )     (244 )

Inventory, net of allowance

  $ 10,507     $ 10,075  

 


 

 

 

 

Note 8 – Stock-Based Compensation

 

Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2012 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and SARs granted under the 2012 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.

 

Employee Stock Purchase Plan

 

The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock each offering period at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period ending May 15 and November 15, respectively. At the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period.

 

Stock-Based Compensation Expense

 

Stock-based compensation expense was $3.0 million for each of the three months ended  March 31, 2020 and 2019, respectively.

 

Stock Options

 

The following table summarizes stock option activity during the three months ended March 31, 2020:

 


 

           

Weighted-

 
           

Average

 
   

Stock Options

   

Exercise Price

 

Options outstanding at December 31, 2019

    276,266     $ 72.38  
Granted     33,192       96.72  
Exercised     (2,001 )     67.53  
Forfeited     (848 )     110.38  
Options outstanding at March 31, 2020     306,609     $ 74.94  
                 
Exercisable at March 31, 2020     187,326     $ 62.48  

 


 

The outstanding options generally have a term of ten years. For employees, options granted become exercisable ratably over the vesting period, which is generally a period from four to five years, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.

 

The weighted-average grant date fair value of options that were granted during the three months ended March 31, 2020 was $41.72.

 

The following table provides the assumptions used in the Black-Scholes pricing model valuation of options during the three months ended March 31, 2020 and 2019:

 


 

   

Three Months Ended March 31,

   

2020

 

2019

Risk-free interest rate

 

1.47%

 

2.58%

Expected life (years)

  6.25   6.25

Expected volatility

 

42.40%

 

42.74%

Expected dividend yield

 

0%

 

0%

 


 

As of March 31, 2020, there was $4.5 million of unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.9 years.

 

 

Restricted Stock

 

Restricted stock awards are share-settled awards and restrictions lapse ratably over the vesting period, which is generally a period from four to five years, beginning on the first anniversary of the grant date, subject to the employee's continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date. 

 

The following table summarizes restricted stock activity during the three months ended March 31, 2020:

 


 

           

Weighted-

 
           

Average

 
           

Grant Date

 
   

Restricted

   

Fair Value

 
   

Stock

   

Per Share

 

Restricted stock at December 31, 2019

    314,973     $ 89.55  
Granted     28,105       96.72  
Restrictions lapsed     (25,598 )     79.27  
Forfeited     (7,616 )     90.47  
Restricted stock at March 31, 2020     309,864     $ 91.03  

 


 

As of March 31, 2020, there was $21.0 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.6 years. 

 

12

 

 

Performance Stock

 

Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 150 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from 2017 to 2019 are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in 2020 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.

 

The following table summarizes performance stock activity during the three months ended March 31, 2020:

 


 

           

Weighted-

 
           

Average

 
           

Grant Date

 
   

Performance

   

Fair Value

 
   

Stock

   

Per Share

 

Performance stock at December 31, 2019

    9,383     $ 58.35  

Granted

    19,956       118.66  

Restrictions lapsed

    (7,113 )     58.35  

Performance change

    -       -  

Forfeited

    (2,270 )     58.35  

Performance stock at March 31, 2020

    19,956     $ 118.66  

 


 

The following table provides the assumptions used in the Monte Carlo pricing model valuation of PSUs during the three months ended March 31, 2020:

 


 

   

Three Months Ended March 31,

   

2020

 

Risk-free interest rate

  1.41%  

Expected life (years)

  2.88  

Expected volatility

  38.70%  

Expected dividend yield

  0%  

 


 

As of March 31, 2020, there was $2.3 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 2.9 years. 

 

Employee Stock Purchase Plan

 

The following table presents the assumptions used to estimate the fair value of the ESPP during the three months ended March 31, 2020 and 2019

 


 

   

Three Months Ended March 31,

   

2020

 

2019

Risk-free interest rate

 

1.59%

 

2.33%

Expected life (months)

  6.00   6.00

Expected volatility

 

42.63%

 

37.36%

Expected dividend yield

 

0%

 

0%

 


 

13

 

 

 

 Note 9 – Accumulated Other Comprehensive Loss

 

Other comprehensive income (loss) is comprised entirely of foreign currency translation adjustments. The following table presents the changes in accumulated other comprehensive income (loss) balances during the three months ended March 31, 2020 and 2019:

 


 

   

Three Months Ended

 
   

March 31,

 

(in thousands)

 

2020

   

2019

 

Foreign currency translation adjustments

               

Balance at beginning of period

  $ (7,018 )   $ (8,492 )

Other comprehensive income (loss) before reclassifications

    (2,980 )     476  

Amounts reclassified from accumulated other comprehensive loss

    -       -  

Net current-period other comprehensive income (loss)

    (2,980 )     476  

Balance at end of period

  $ (9,998 )   $ (8,016 )

 


 

 

Note 10 – Income Taxes

 

The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the three months ended  March 31, 2020 and 2019, the Company recorded an income tax provision of $3.9 million and $4.2 million, respectively. The income tax provision is based on the estimated annual effective tax rate for the year applied to pre-tax income. The effective income tax rate for the three months ended  March 31, 2020 was 21.8 percent compared to 21.1 percent in the same period of the prior year. The effective tax rate increased by 0.7 percent for the three months ended  March 31, 2020 when compared to the same period in 2019 primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options and an increase in the state tax provision.

 

The effective income tax rate for the three months ended March 31, 2020 differs from the U.S. federal statutory rate of 21.0 percent due to various factors, including operating in multiple state and foreign jurisdictions and tax credits for which the Company qualifies.

 

The Company had unrecognized tax benefits totaling $4.6 million as of each of March 31, 2020 and December 31, 2019, respectively, all of which, if recognized, would affect the Company’s effective tax rate. The Company recognizes interest and penalties related to income tax matters in income tax expense, and reports the liability in current or long-term income taxes payable as appropriate.

 

14

 

 

 

Note 11 – Segment Reporting

 

The Company’s reportable segments are based on the internal reporting used by the Company’s Chief Executive Officer, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that the Company does not allocate directly to its operating segments.

 

Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments. 

 

Revenue and income from operations by reportable segment for the three months ended March 31, 2020 and 2019 were as follows:

 


 

   

Three Months Ended March 31,

 

(in thousands)

 

2020

   

2019

 

Revenue:

               

United States

  $ 90,076     $ 87,811  

Europe

    20,787       21,254  

Japan

    4,245       4,387  

Total revenue

  $ 115,108     $ 113,452  

 


 

   

Three Months Ended March 31,

 

(in thousands)

 

2020

   

2019

 

Income from Operations:

               

United States

  $ 25,089     $ 26,310  

Europe

    4,364       4,221  

Corporate Unallocated and Japan

    (12,628 )     (11,083 )

Total Income from Operations

  $ 16,825     $ 19,448  

 


 

Total long-lived assets at  March 31, 2020 and December 31, 2019 were as follows:

 


 

   

March 31,

   

December 31,

 

(in thousands)

 

2020

   

2019

 

Total long-lived assets:

               
United States   $ 215,691     $ 210,171  
Europe     43,984       45,019  
Japan     8,326       8,522  

Total Assets

  $ 268,001     $ 263,712  

 


 

 

 

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

 

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our unaudited consolidated financial statements and related notes appearing elsewhere in this Quarterly Report on Form 10-Q and our Annual Report on Form 10-K for the year ended December 31, 2019.

 

Forward-Looking Statements

 

Statements contained in this report regarding matters that are not historical or current facts are “forward-looking statements” within the meaning of The Private Securities Litigation Reform Act of 1995. In some cases, you can identify forward-looking statements by the following words: “may,” “will,” “could,” “would,” “should,” “expect,” “intend,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “project,” “potential,” “continue,” “ongoing” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. These statements involve known and unknown risks, uncertainties and other factors that may cause our results to be materially different than those expressed or implied in such statements. Certain of these risk factors and others are described in Item 1A. “Risk Factors” of this Form 10-Q, as well as our most recent Annual Report on Form 10-K as filed with the SEC. Other unknown or unpredictable factors also could have material adverse effects on our future results. We cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, we expressly disclaim any intent or obligation to update any forward-looking statements to reflect subsequent events or circumstances.

 

Overview

 

We are the world’s largest and fastest digital manufacturer of custom prototypes and on-demand production parts. We manufacture prototypes and low-volume production parts for companies worldwide, who are under increasing pressure to bring their finished products to market faster than their competition. We utilize injection molding, computer numerical control (CNC) machining, 3D printing and sheet metal fabrication to manufacture custom parts for our customers. Our proprietary technology eliminates most of the time-consuming and expensive skilled labor conventionally required to quote and manufacture parts. Our customers conduct nearly all of their business with us over the Internet. We target our products to the millions of product developers and engineers who use three-dimensional computer-aided design (3D CAD) software to design products across a diverse range of end-markets.

 

Our primary manufacturing product lines currently include Injection Molding, CNC Machining, 3D Printing and Sheet Metal. We continually seek to expand the range of sizes and geometric complexity of the parts we can make with these processes, to extend the variety of materials we are able to support and to identify additional manufacturing processes to which we can apply our technology in order to better serve the evolving preferences and needs of product developers and engineers.

 

Injection Molding

 

Our Injection Molding product line uses our 3D CAD-to-CNC machining technology for the automated design and manufacture of molds, which are then used to produce custom plastic and liquid silicone rubber injection-molded parts and over-molded and insert-molded injection-molded parts on commercially available equipment. Our Injection Molding product line works best for on-demand production, bridge tooling, pilot runs and functional prototyping. Our affordable aluminum molds and quick turnaround times help reduce design risk and limit overall production costs for product developers and engineers. Prototype quantities typically range from 25 to 100 parts. Because we retain possession of the molds, customers who need short-run production often come back to Protolabs’ Injection Molding product line for additional quantities. They do so to support pilot production for product testing, while their tooling for high-volume production is being prepared, because they need on-demand manufacturing due to disruptions in their manufacturing process, because their product requires limited annual quantity or because they need end-of-life production support. In 2017, we launched an on-demand manufacturing injection molding product offering. This product offering utilizes our existing processes, but is designed to fulfill the needs of customers with on-going production needs, typically in annual volumes of less than 10,000 parts.

 

CNC Machining

 

Our CNC Machining product line uses commercially available CNC machines to offer milling and turning. CNC milling is a manufacturing process that cuts plastic and metal blocks into one or more custom parts based on the 3D CAD model uploaded by the product developer or engineer. CNC turning with live tooling combines both lathe and mill capabilities to machine parts with cylindrical features from metal rod stock. Our efficiencies derive from the automation of the programming of these machines and a proprietary fixturing process.

 

Quick-turn CNC machining works best for prototyping, form and fit testing, jigs and fixtures and functional components for end-use applications. The CNC Machining product line is well suited to produce small quantities, typically in the range of one to 1,000 parts.

 

 

3D Printing

 

Our 3D Printing product line includes stereolithography, selective laser sintering, direct metal laser sintering, Multi Jet Fusion, PolyJet and digital light synthesis processes, which offer customers a wide-variety of high-quality, precision rapid prototyping and low-volume production. These processes create parts with a high level of accuracy, detail, strength and durability. Industrial 3D Printing is best suited for functional prototypes, complex designs and end-use applications produced in small quantities, typically in the range of one to several hundred parts.

 

Sheet Metal

 

Our Sheet Metal product line includes quick-turn and e-commerce-enabled custom sheet metal parts, which provides customers with prototype and low-volume production parts. The rapid prototype sheet metal process is most often used when form, fit and function are all a priority. Our manufacturing process uses customer 3D CAD models uploaded by the product developer or engineer to fabricate quick-turn prototype sheet metal or short-run production parts. The Sheet Metal product line is well suited to produce quantities in the range of one to 500 parts.

 

Key Financial Measures and Trends

 

Revenue

 

Our operations are comprised of three geographic operating segments in the United States, Europe and Japan. Revenue is derived from our Injection Molding, CNC Machining, 3D Printing and Sheet Metal product lines. Injection Molding revenue consists of sales of custom injection molds and injection-molded parts. CNC Machining revenue consists of sales of CNC-machined custom parts. 3D Printing revenue consists of sales of 3D-printed parts. Sheet Metal revenue consists of sales of fabricated sheet metal custom parts. Our historical and current efforts to increase revenue have been directed at expanding the breadth of our product offerings, gaining new customers and selling to our existing customer base by increasing marketing and selling activities, including:

 

 

expanding the breadth and scope of each of our product lines by adding more sizes and materials to our offerings;

 

 

 

 

the introduction of our 3D Printing product line through our acquisition of FineLine in 2014;

 

 

 

 

expanding 3D Printing to Europe through our acquisition of Alphaform in October 2015;

 

 

 

 

the introduction of our Sheet Metal product line through our acquisition of RAPID in 2017; and

 

 

 

 

continuously improving the usability of our product lines such as our web-centric applications.

 

During the three months ended March 31, 2020, we served 20,876 unique product developers and engineers who purchased our products through our web-based customer interface, an increase of 1.5% over the same period in 2019.

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of revenue consists primarily of raw materials, equipment depreciation, employee compensation, benefits, stock-based compensation, facilities costs and overhead allocations associated with the manufacturing process for molds and custom parts. We expect our personnel-related costs to increase in order to retain and attract top talent and remain competitive in the market. Overall, we expect cost of revenue to increase in absolute dollars, but remain relatively constant as a percentage of total revenue.

 

We define gross profit as our revenue less our cost of revenue, and we define gross margin as gross profit expressed as a percentage of revenue. Our gross profit and gross margin are affected by many factors, including our mix of revenue by product line, pricing, sales volume, manufacturing costs, the costs associated with increasing production capacity, the mix between domestic and foreign revenue sources and foreign exchange rates.

 

 

Operating Expenses

 

Operating expenses consist of marketing and sales, research and development and general and administrative expenses. Personnel-related costs are the most significant component in each of these categories.

 

Our recent growth in operating expenses is mainly due to higher headcounts to support our growth and expansion, and we expect that trend to continue. Our business strategy is to continue to be a leading online and technology-enabled manufacturer of quick-turn, on-demand injection-molded, CNC-machined, CNC-turned, 3D-printed and sheet metal custom parts for prototyping and low-volume production. In order to achieve our goals, we anticipate continued substantial investments in technology and personnel, resulting in increased operating expenses.

 

Marketing and sales. Marketing and sales expense consists primarily of employee compensation, benefits, commissions, stock-based compensation, marketing programs such as electronic, print and pay-per-click advertising, trade shows and other related overhead. We expect sales and marketing expense to increase in the future as we increase the number of marketing and sales professionals and marketing programs targeted to increase our customer base and grow revenue.

 

Research and development. Research and development expense consists primarily of personnel and outside service costs related to the development of new processes and product lines, enhancement of existing product lines, development of software for internal use, maintenance of internally developed software, quality assurance and testing. Costs for internal use software are evaluated by project and capitalized where appropriate under ASC 350-40, Intangibles — Goodwill and Other, Internal-Use Software. We expect research and development expense to increase in the future as we seek to enhance our e-commerce interface technology, internal software and supporting business systems, and continue to expand our product lines.

 

General and administrative. General and administrative expense consists primarily of employee compensation, benefits, stock-based compensation, professional service fees related to accounting, tax and legal and other related overhead. We expect general and administrative expense to increase in the future as we continue to grow and expand as a global organization.

 

Other Income, net

 

Other income, net primarily consists of foreign currency-related gains and losses and interest income on cash balances and investments. Our foreign currency-related gains and losses will vary depending upon movements in underlying exchange rates. Our interest income will vary each reporting period depending on our average cash balances during the period, composition of our marketable security portfolio and the current level of interest rates.

 

Provision for Income Taxes

 

Provision for income taxes is comprised of federal, state, local and foreign taxes based on pre-tax income. Overall, we expect our effective tax rate for 2020 and beyond will remain consistent based on the current tax laws.

 

Market Conditions 

 

On March 11, 2020, the World Health Organization declared the outbreak of the novel coronavirus (COVID-19) a pandemic. Its full financial impact is unknown at this time and will depend on the duration of government restrictions, including travel restrictions, quarantines, shelter in place orders and shutdowns and duration of the economic slowdown and nature and timing of a recovery. The Company has been deemed an essential business and all of our global manufacturing operations have remained open. The Company has activated a global, cross-functional response team, which is closely monitoring the situation and implementing additional safety measures to help ensure the well-being of our employees, customers and suppliers, to minimize disruptions and provide for the safe and reliable supply of products to our customers. In accordance with the guidance provided by both the World Health Organization and the U.S. Centers for Disease Control and Prevention, the Company has implemented safe work practices, including social distancing and work from home guidelines.

 

We are actively monitoring key product availability and continue to stay connected with our customers to understand impacts on their operations. All of these efforts will help us better plan and prepare, so we can continue to be a leading supplier of custom parts. In anticipation of exposure due to an economic slowdown driven by COVID-19, the Company increased its bad debt reserve by $0.9 million as of March 31, 2020.

 

The Coronavirus Aid, Relief, and Economic Security (CARES) Act was signed into law on March 27th, 2020. The CARES Act is meant to infuse companies with various income and payroll tax cash benefits to ease the impact of the pandemic. A technical correction to the Tax Cuts and Jobs Act of 2017 was included in the CARES Act allowing qualified improvement property to claim bonus depreciation for respective assets placed in service in 2018 and 2019.  The impact of the CARES Act to the Company was a $2.6 million reduction in our income taxes payable and a corresponding increase to our deferred tax liability.

 

See "Risk Factors" in Item 1A of this Quarterly Report on Form 10-Q for further information of the possible impact of the COVID-19 pandemic on our business. 

 

 

Results of Operations

 

The following table summarizes our results of operations and the related changes for the periods indicated. The results below are not necessarily indicative of the results for future periods. 

 


 

   

Three Months Ended March 31,

   

Change

 

(dollars in thousands)

 

2020

   

2019

    $    

%

 

Revenue

  $ 115,108       100.0     $ 113,452       100.0     $ 1,656       1.5  

Cost of revenue

    57,008       49.5       54,592       48.1       2,416       4.4  

Gross profit

    58,100       50.5       58,860       51.9       (760 )     (1.3 )

Operating expenses:

                                               

Marketing and sales

    18,180       15.8       18,577       16.4       (397 )     (2.1 )

Research and development

    8,987       7.8       8,013       7.1       974       12.1  

General and administrative

    14,108       12.3       12,822       11.3       1,286       10.0  

Total operating expenses

    41,275       35.9       39,412       34.8       1,863       4.7  

Income from operations

    16,825       14.6       19,448       17.1       (2,623 )     (13.5 )

Other income, net

    1,054       0.9       213       0.2       841       *  

Income before income taxes

    17,879       15.5       19,661       17.3       (1,782 )     (9.1 )

Provision for income taxes

    3,895       3.4       4,150       3.6       (255 )     (6.1 )

Net income

  $ 13,984       12.1 %   $ 15,511       13.7 %   $ (1,527 )     (9.8 )%

 


 

Stock-based compensation expense included in the statements of operations data above for the three months ended March 31, 2020 and 2019 was as follows:

 


 

   

Three Months Ended March 31,

 

(dollars in thousands)

 

2020

   

2019

 

Stock options and restricted stock

  $ 2,738     $ 2,779  

Employee stock purchase plan

    295       261  

Total stock-based compensation expense

  $ 3,033     $ 3,040  
                 

Cost of revenue

  $ 521     $ 421  

Operating expenses:

               

Marketing and sales

    618       549  

Research and development

    521       423  

General and administrative

    1,373       1,647  

Total stock-based compensation expense

  $ 3,033     $ 3,040  

 


 

 

Comparison of Three Months Ended March 31, 2020 and 2019

 

Revenue

 

Revenue by reportable segment and the related changes for the three months ended March 31, 2020 and 2019 were as follows:

 


 

   

Three Months Ended March 31,

                 
   

2020

   

2019

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

    $    

%

 

Revenue

                                               

United States

  $ 90,076       78.3 %   $ 87,811       77.4 %   $ 2,265       2.6 %

Europe

    20,787       18.1       21,254       18.7       (467 )     (2.2 )

Japan

    4,245       3.7       4,387       3.9       (142 )     (3.2 )

Total revenue

  $ 115,108       100.0 %   $ 113,452       100.0 %   $ 1,656       1.5 %

 

 


 

Our revenue increased $1.7 million, or 1.5%, for the three months ended March 31, 2020 compared to the same period in 2019. By reportable segment, revenue in the United States increased $2.3 million, or 2.6%, for the three months ended March 31, 2020 compared to the same period in 2019. Revenue in Europe decreased $0.5 million, or 2.2%, and revenue in Japan decreased $0.1 million, or 3.2%, in each case for the three months ended March 31, 2020 compared to the same period in 2019. Our revenue in Europe was impacted by foreign currency exchange rates. Excluding the impact of the changes in foreign currency exchange rates, Europe revenue growth would have been 0.9%. In addition, our revenue in each region was impacted by a decline in order activity driven by the COVID-19 pandemic.

 

Our revenue growth during the three months ended March 31, 2020 was the result of an increase in the volume of product developers and engineers we served. During the three months ended March 31, 2020, we served 20,876 unique product developers and engineers, an increase of 1.5% over the same period in 2019.

 

Our revenue increases were primarily driven by increases in sales personnel and marketing activities. Our sales personnel focus on gaining new customer accounts and expanding the depth and breadth of existing customer accounts. Our marketing personnel focus on marketing activities that result in the greatest number of customer leads to support sales activity. International revenue was negatively impacted by $0.6 million during the three months ended March 31, 2020 compared to the same period in 2019 as a result of foreign currency movements, primarily the weakening of the British Pound and Euro relative to the United States Dollar.

 

Revenue by product line and the related changes for the three months ended March 31, 2020 and 2019 were as follows:

 


 

   

Three Months Ended March 31,

                 
   

2020

   

2019

   

Change

 

(dollars in thousands)

 

$

   

% of Total Revenue

   

$

   

% of Total Revenue

    $    

%

 

Revenue

                                               
Injection Molding   $ 54,776       47.6 %   $ 55,311       48.8 %   $ (535 )     (1.0) %
CNC Machining     37,885       32.9       37,872       33.4       13       0.0  
3D Printing     15,948       13.9       14,480       12.8       1,468       10.1  
Sheet Metal     5,649       4.9       5,025       4.4       624       12.4  
Other Revenue     850       0.7       764       0.7       86       11.3  

Total revenue

  $ 115,108       100.0 %   $ 113,452       100.0 %   $ 1,656       1.5 %

 


 

By product line, our revenue growth was driven by a 10.1% increase in 3D Printing revenue, a 12.4% increase in Sheet Metal revenue and an 11.3% increase in Other Revenue, which was partially offset by a 1.0% decrease in Injection Molding revenue, in each case for the three months ended March 31, 2020 compared to the same period in 2019.

 

 

Cost of Revenue, Gross Profit and Gross Margin

 

Cost of Revenue. Cost of revenue increased $2.4 million, or 4.4%, for the three months ended March 31, 2020 compared to the same period in 2019, which was greater than the rate of revenue increase of 1.5% for the three months ended March 31, 2020 compared to the same period in 2019. The increase in cost of revenue resulted from the growth of the business, investments to support future growth and the costs of inflation. Specifically, the increases were driven by an increase in direct labor headcount and wage inflation resulting in personnel and related cost increases of $1.5 million and equipment and facility-related cost increases of $1.0 million to support increased sales volumes and future growth of the business, which were partially offset by raw material and production cost decreases of $0.1 million.

 

Gross Profit and Gross Margin. Gross profit decreased from $58.9 million in the three months ended March 31, 2019 to $58.1 million in the three months ended March 31, 2020 primarily due to an increase in expenses associated with the cost of revenue. Gross margin decreased from 51.9% in the three months ended March 31, 2019 to 50.5% in the three months ended March 31, 2020 due to investments in facilities and personnel to support future growth and the timing and mix of revenue.

 

Operating Expenses, Other Income, net and Provision for Income Taxes

 

Marketing and Sales. Marketing and sales expenses decreased $0.4 million, or 2.1%, during the three months ended March 31, 2020 compared to the same period in 2019 due primarily to personnel and related cost decreases of $0.2 million as well as marketing program cost decreases of $0.2 million.

 

Research and Development. Our research and development expenses increased $1.0 million, or 12.1%, during the three months ended March 31, 2020 compared to the same period in 2019 due to an increase in headcount resulting in personnel and related cost increases of $1.0 million.

 

General and Administrative. Our general and administrative expenses increased $1.3 million, or 10.0%, during the three months ended March 31, 2020 compared to the same period in 2019 due to personnel and related cost increases of $1.2 million and administrative cost increases of $0.5 million primarily driven by an increase to our bad debt expense as a result of anticipated exposure related to the novel coronavirus (COVID-19) pandemic, which were partially offset by stock-based compensation decreases of $0.3 million, as well as a $0.1 million decrease in amortization cost.

  

Other Income, net. We recognized other income, net of $1.1 million for the three months ended March 31, 2020, an increase of $0.9 million compared to other income, net of $0.2 million for the three months ended March 31, 2019. Other income, net for the three months ended March 31, 2020 primarily consisted of $0.6 million in interest income on investments and a $0.7 million gain on foreign currency, which was partially offset by $0.2 million in other expense. Other income, net for the three months ended March 31, 2019 primarily consisted of $0.6 million in interest income on investments, which was partially offset by a $0.4 million loss on foreign currency.

 

Provision for Income Taxes. Our effective tax rate of 21.8% for the three months ended March 31, 2020 increased 0.7% compared to 21.1% for the same period in 2019. The increase in the effective tax rate is primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options and an increase in the state tax provision. Our income tax provision of $3.9 million for the three months ended March 31, 2020 decreased $0.3 million compared to our income tax provision of $4.2 million for the three months ended March 31, 2019.

 

 

Liquidity and Capital Resources

 

Cash Flows

 

The following table summarizes our cash flows during the three months ended March 31, 2020 and 2019:

 


 

   

Three Months Ended March 31,

 

(dollars in thousands)

 

2020

   

2019

 

Net cash provided by operating activities

  $ 22,410     $ 18,002  

Net cash (used in) provided by investing activities

    (43,350 )     271  

Net cash used in financing activities

    (12,098 )     (17,729 )

Effect of exchange rates on cash and cash equivalents

    (282 )     (240 )

Net (decrease) increase in cash and cash equivalents

  $ (33,320 )   $ 304  

 


 

Sources of Liquidity

 

Historically, we have primarily financed our operations and capital expenditures through cash flow from operations. We had cash and cash equivalents of $91.9 million as of March 31, 2020, a decrease of $33.3 million from December 31, 2019. The decrease in our cash was primarily due to cash used in investing activity and repurchases of common stock, which were partially offset by cash generated through operations.

 

Cash Flows from Operating Activities

 

Cash flows from operating activities were $22.4 million during the three months ended March 31, 2020 and primarily consisted of net income of $14.0 million, adjusted for certain non-cash items, including depreciation and amortization of $8.0 million, stock-based compensation expense of $3.0 million and deferred taxes of $3.4 million, which were partially offset by changes in operating assets and liabilities and other items totaling $6.0 million. Cash flows from operating activities were $18.0 million during the three months ended March 31, 2019 and primarily consisted of net income of $15.5 million, adjusted for certain non-cash items, including depreciation and amortization of $7.4 million, stock-based compensation expense of $3.0 million and deferred taxes of $0.4 million, which were partially offset by changes in operating assets and liabilities and other items totaling $8.3 million.

 

Cash flows from operating activities increased $4.4 million during the three months ended March 31, 2020 compared to the same period in 2019, primarily due to increases in changes in operating assets and liabilities of $3.3 million driven by timing of cash receipts and payments, deferred taxes of $3.0 million and depreciation and amortization of $0.5 million, which were partially offset by decreases in net income of $1.5 million and decreases in other operating activities of $0.9 million.

 

Cash Flows from Investing Activities

 

Cash used in investing activities was $43.3 million during the three months ended March 31, 2020, consisting of $37.6 million for the purchases of marketable securities, $13.4 million for the purchases of property, equipment and other capital assets and $3.0 million for purchases of other assets and investments, which were partially offset by $10.7 million in proceeds from maturities of marketable securities.

 

Cash provided by investing activities was $0.3 million during the three months ended March 31, 2019, consisting of $17.0 million in proceeds from maturities of marketable securities, which were partially offset by $12.7 million for the purchases of property, equipment and other capital assets and $4.0 million for purchases of other assets and investments.

 

 

Cash Flows from Financing Activities

 

Cash used in financing activities was $12.1 million during the three months ended March 31, 2020, consisting of $11.2 million in repurchases of common stock and $1.0 million in purchases of shares withheld for tax obligations associated with equity transactions, which were partially offset by $0.1 million in proceeds from the exercise of stock options.

 

Cash used in financing activities was $17.7 million during the three months ended March 31, 2019, consisting of $17.3 million in repurchases of common stock and $0.6 million in purchases of shares withheld for tax obligations, which were partially offset by $0.2 million in proceeds from the exercise of stock options.

 

Off-Balance Sheet Arrangements

 

Since our inception, we have not engaged in any off-balance sheet arrangements, including the use of structured finance, special purpose entities or variable interest entities.

 

Critical Accounting Policies and Use of Estimates

 

We have adopted various accounting policies to prepare the Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP). Our significant accounting policies are disclosed in Note 2 to the Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2019.

 

Recent Accounting Pronouncements

 

For information on recent accounting pronouncements, see Note 2 to the Consolidated Financial Statements appearing in Part I, Item 1 in this Quarterly Report on Form 10-Q.

 

 

Item 3. Quantitative and Qualitative Disclosures about Market Risk

 

Foreign Currency Risk

 

As a result of our foreign operations, we have revenue, expenses, assets and liabilities that are denominated in foreign currencies. We generate revenue and incur production costs and operating expenses in British Pounds, Euros and Japanese Yen.

 

Our operating results and cash flows are adversely impacted when the United States Dollar appreciates relative to foreign currencies. Additionally, our operating results and cash flows are adversely impacted when the British Pound appreciates relative to the Euro. As we expand internationally, our results of operations and cash flows will become increasingly subject to changes in foreign currency exchange rates.

 

We have not used forward contracts or currency borrowings to hedge our exposure to foreign currency risk. Foreign currency risk can be assessed by estimating the change in results of operations or financial position resulting from a hypothetical 10% adverse change in foreign exchange rates. We believe such a change would generally not have a material impact on our financial position, but could have a material impact on our results of operations. We recognized a foreign currency gain of $0.7 million during the three months ended March 31, 2020 and a foreign currency loss of $0.4 million during the three months ended March 31, 2019. The changes in foreign exchange rates had a negative impact on consolidated revenue of $0.6 million for the three months ended March 31, 2020.

 

 

Item 4. Controls and Procedures

 

Evaluation of Disclosure Controls and Procedures

 

Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) under the Securities Exchange Act of 1934 (Exchange Act)) as of the end of the period covered by this report. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of the period covered by this quarterly report, our disclosure controls and procedures are effective and provide reasonable assurance that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported accurately and within the time frames specified in the SEC’s rules and forms and accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.

 

Changes in Internal Control over Financial Reporting

 

There have been no changes in our internal control over financial reporting (as such term is defined in Rule 13a-15(f) under the Exchange Act) during the period covered by this report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

 

 

PART II. OTHER INFORMATION

 

Item 1. Legal Proceedings

 

From time to time, we are subject to various legal proceedings and claims that arise in the ordinary course of our business activities. Although the results of litigation and claims cannot be predicted with certainty, as of the date of these financial statements, we do not believe we are party to any litigation the outcome of which, if determined adversely to us, would individually or in the aggregate be reasonably expected to have a material adverse effect on our business. 

 

Item 1A. Risk Factors

 

Part I, Item 1A. “Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2019 includes a discussion of our risk factors. The information presented below updates, and should be read in conjunction with, the risk factors and information disclosed in our Form 10-K. Except as presented below, there have been no material changes from the risk factors described in our Form 10-K.

 

Economic uncertainty arising from the recent COVID-19 pandemic could adversely affect our business and results of operations.

 

On March 11, 2020, the World Health Organization declared the outbreak of the novel coronavirus (COVID-19) a pandemic. The COVID-19 outbreak and associated counter-acting measures implemented by governments around the world, as well as increased business uncertainty, could adversely affect our business and results of operations. At this time, the Company is monitoring the global outbreak of the COVID-19 and is taking steps to mitigate the risks to our employees, customers, suppliers and other stakeholders. The Company has been deemed an essential business and all of our global manufacturing operations have remained open. The current business environment and quickly evolving market conditions require significant management judgment to interpret and quantify the potential impact on our assumptions about future financial performance and operating cash flows. To the extent that changes in the current business environment impact our ability to achieve levels of forecasted operating results and cash flows, if our stock price were to trade below book value per share for an extended period of time and/or should other events occur indicating the carrying value of our assets might be impaired, we may be required to recognize impairment losses on goodwill, intangible and tangible assets.

 

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

 

On February 9, 2017, we announced that our board of directors had authorized the repurchase of shares of our common stock from time to time on the open market or in privately negotiated purchases, at an aggregate purchase price of up to $50 million. On May 16, 2019, we announced that our board of directors approved a $50 million increase in its authorized stock repurchase program and extended the term of the program through December 31, 2023. This authorization increases the stock repurchase program to $100 million.

 

The timing and amount of any share repurchases will be determined by our management based on market conditions and other factors. 

 

The common stock repurchase does not obligate us to repurchase any dollar amount or number of shares. During the three months ended March 31, 2020, we repurchased 161,460 shares of our common stock at a total purchase price of $12.0 million under this program. Common stock repurchase activity through March 31, 2020 was as follows:

 


 

Period

  Total Number of Shares Purchased     Average Price Paid per Share     Total Number of Shares Purchased as Part of Publicly Announced Plans or Programs     Maximum Dollar Value of Shares that May Yet Be Purchased Under the Plans or Programs (in thousands) (1)  
January 1, 2020 through January 31, 2020     -     $ -       -     $ 49,854  
February 1, 2020 through February 29, 2020     4,916     $ 87.15       4,916     $ 49,426  
March 1, 2020 through March 31, 2020     156,544     $ 73.77       156,544     $ 37,877  
      161,460     $ 74.18       161,460     $ 37,877  

 


 

(1) Effective May 15, 2019 the Board of Directors authorized the repurchase of shares of the Company’s common stock from time to time on the open market or in privately negotiated purchases, at an aggregate purchase price of up to $100 million. The term of the program runs through December 31, 2023.

 

Item 3. Defaults Upon Senior Securities

 

No matters to disclose.

 

Item 4. Mine Safety Disclosures

 

No matters to disclose.

 

Item 5. Other Information

 

No matters to disclose.

 

 

Item 6. Exhibits

 

The following documents are filed as part of this report:

 

Exhibit Number

 

Description of Exhibit

3.1(1)

 

Third Amended and Restated Articles of Incorporation of Proto Labs, Inc.

3.2(2)

  Articles of Amendment to Third Amended and Restated Articles of Incorporation of Proto Labs, Inc. dated May 20, 2015

3.3(3)

 

Second Amended and Restated By-Laws of Proto Labs, Inc., as amended through November 8, 2016

31.1

 

Certification of the Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act

31.2

 

Certification of the Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act

32.1

 

Certification of the Chief Executive Officer and the Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act

101.SCH

 

XBRL Taxonomy Extension Schema Document

101.CAL

 

XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF

 

XBRL Taxonomy Extension Definition Linkbase Document

101.LAB

 

XBRL Taxonomy Extension Label Linkbase Document

101.PRE

 

XBRL Taxonomy Extension Presentation Linkbase Document

104   Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)

 

(1)

Previously filed as Exhibit 3.2 to the Company’s Registration Statement on Form S-1/A (File No. 333-175745), filed with the Commission on February 13, 2012, and incorporated by reference herein.

(2)

Previously filed as Exhibit 3.1 to the Company's Form 8-K (File No. 001-35435), filed with the Commission on May 21, 2015 and incorporated by reference herein.

(3)

Previously filed as Exhibit 3.1 to the Company's Form 8-K (File No. 001-35435), filed with the Commission on November 8, 2016 and incorporated by reference herein.

 

 

SIGNATURE

 

Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

 

 

 

Proto Labs, Inc.

 

 

 

 

 

Date: May 5, 2020

 

/s/ Victoria M. Holt

 

 

 

Victoria M. Holt

 

 

 

President and Chief Executive Officer

(Principal Executive Officer)

 

 

Date: May 5, 2020

 

/s/ John A. Way

 

 

 

John A. Way

 

 

 

Chief Financial Officer

(Principal Financial Officer)

 

 

30

28

EX-31.1 2 ex_177720.htm EXHIBIT 31.1 ex_150111.htm

 

Exhibit 31.1

 

CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF

THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002

 

I, Victoria M. Holt, certify that:

 

1. I have reviewed this Quarterly Report on Form 10-Q of Proto Labs, Inc.;

 

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

 

a)

Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

 

b)

Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

 

c)

Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d)

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

 

a)

All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

 

b)

Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: May 5, 2020

 

 

 

By:

 

/s/ Victoria M. Holt

 

 

 

 

 

 

Victoria M. Holt

 

 

 

 

 

 

President and Chief Executive Officer

 

 

 

 

 

 

(Principal Executive Officer)

 

 

 

EX-31.2 3 ex_177721.htm EXHIBIT 31.2 ex_150111.htm

 

Exhibit 31.2

 

CERTIFICATION PURSUANT TO RULE 13a-14(a) OR 15d-14(a) OF

THE SECURITIES EXCHANGE ACT OF 1934,

AS ADOPTED PURSUANT TO SECTION 302 OF

THE SARBANES-OXLEY ACT OF 2002 

 

I, John A. Way, certify that:

 

1. I have reviewed this Quarterly Report on Form 10-Q of Proto Labs, Inc.;

 

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

 

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

 

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

 

 

a)

Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

 

 

b)

Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

 

 

c)

Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

 

 

d)

Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

 

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

 

 

a)

All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

 

 

b)

Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

 

Date: May 5, 2020

 

 

 

By:

 

/s/ John A. Way

 

 

 

 

 

 

John A. Way

 

 

 

 

 

 

Chief Financial Officer

 

 

 

 

 

 

(Principal Financial Officer)

 

 

EX-32.1 4 ex_177722.htm EXHIBIT 32.1 ex_150111.htm

 

Exhibit 32.1

 

 

CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER

PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

I, Victoria M. Holt, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Proto Labs, Inc. on Form 10-Q for the fiscal quarter ended March 31, 2020 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.

 

Date: May 5, 2020

 

 

By:

 

/s/ Victoria M. Holt

 

Name:

Victoria M. Holt

 

Title:

 

President and Chief Executive Officer

 

 

 

I, John A. Way, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Quarterly Report of Proto Labs, Inc. on Form 10-Q for the fiscal quarter ended March 31, 2020 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Quarterly Report on Form 10-Q fairly presents in all material respects the financial condition and results of operations of Proto Labs, Inc.

 

Date: May 5, 2020

 

 

By:

 

/s/ John A. Way

 

Name:

John A. Way

 

Title:

 

Chief Financial Officer

 

 

EX-101.SCH 5 prlb-20200331.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Balance Sheets (Current Period Unaudited) link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Statements of Shareholders' Equity (Unaudited) link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Cash Flows (Unaudited) link:calculationLink link:definitionLink link:presentationLink 006 - Disclosure - Note 1 - Basis of Presentation link:calculationLink link:definitionLink link:presentationLink 007 - Disclosure - Note 2 - Recent Accounting Pronouncements link:calculationLink link:definitionLink link:presentationLink 008 - Disclosure - Note 3 - Net Income Per Common Share link:calculationLink link:definitionLink link:presentationLink 009 - Disclosure - Note 4 - Goodwill and Other Intangible Assets link:calculationLink link:definitionLink link:presentationLink 010 - Disclosure - Note 5 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 011 - Disclosure - Note 6 - Marketable Securities link:calculationLink link:definitionLink link:presentationLink 012 - Disclosure - Note 7 - Inventory link:calculationLink link:definitionLink link:presentationLink 013 - Disclosure - Note 8 - Stock-based Compensation link:calculationLink link:definitionLink link:presentationLink 014 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss link:calculationLink link:definitionLink link:presentationLink 015 - Disclosure - Note 10 - Income Taxes link:calculationLink link:definitionLink link:presentationLink 016 - Disclosure - Note 11 - Segment Reporting link:calculationLink link:definitionLink link:presentationLink 017 - Disclosure - Significant Accounting Policies (Policies) link:calculationLink link:definitionLink link:presentationLink 018 - Disclosure - Note 3 - Net Income Per Common Share (Tables) link:calculationLink link:definitionLink link:presentationLink 019 - Disclosure - Note 4 - Goodwill and Other Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 020 - Disclosure - Note 5 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 021 - Disclosure - Note 6 - Marketable Securities (Tables) link:calculationLink link:definitionLink link:presentationLink 022 - Disclosure - Note 7 - Inventory (Tables) link:calculationLink link:definitionLink link:presentationLink 023 - Disclosure - Note 8 - Stock-based Compensation (Tables) link:calculationLink link:definitionLink link:presentationLink 024 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss (Tables) link:calculationLink link:definitionLink link:presentationLink 025 - Disclosure - Note 11 - Segment Reporting (Tables) link:calculationLink link:definitionLink link:presentationLink 026 - Disclosure - Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) link:calculationLink link:definitionLink link:presentationLink 027 - Disclosure - Note 4 - Goodwill and Other Intangible Assets (Details Textual) link:calculationLink link:definitionLink link:presentationLink 028 - Disclosure - Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 029 - Disclosure - Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) link:calculationLink link:definitionLink link:presentationLink 030 - Disclosure - Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 031 - Disclosure - Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details) link:calculationLink link:definitionLink link:presentationLink 032 - Disclosure - Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) link:calculationLink link:definitionLink link:presentationLink 033 - Disclosure - Note 7 - Inventory - Inventory (Details) link:calculationLink link:definitionLink link:presentationLink 034 - Disclosure - Note 8 - Stock-based Compensation (Details Textual) link:calculationLink link:definitionLink link:presentationLink 035 - Disclosure - Note 8 - Stock-based Compensation - Stock Option Activity (Details) link:calculationLink link:definitionLink link:presentationLink 036 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details) link:calculationLink link:definitionLink link:presentationLink 037 - Disclosure - Note 8 - Stock-based Compensation - Restricted Stock Options (Details) link:calculationLink link:definitionLink link:presentationLink 038 - Disclosure - Note 8 - Stock-based Compensation - Performance Stock (Details) link:calculationLink link:definitionLink link:presentationLink 039 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) link:calculationLink link:definitionLink link:presentationLink 040 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) link:calculationLink link:definitionLink link:presentationLink 041 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details) link:calculationLink link:definitionLink link:presentationLink 042 - Disclosure - Note 10 - Income Taxes (Details Textual) link:calculationLink link:definitionLink link:presentationLink 043 - Disclosure - Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) link:calculationLink link:definitionLink link:presentationLink 044 - Disclosure - Note 11 - Segment Reporting - Income From Operations (Details) link:calculationLink link:definitionLink link:presentationLink 045 - Disclosure - Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 6 prlb-20200331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 7 prlb-20200331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 8 prlb-20200331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo 2021 Expected dividend yield Note To Financial Statement Details Textual us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree 2022 Significant Accounting Policies us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour 2023 Note 3 - Net Income Per Common Share us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive 2024 Note 4 - Goodwill and Other Intangible Assets Risk-free interest rate Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Note 5 - Fair Value Measurements Note 6 - Marketable Securities Note 7 - Inventory us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths Remaining 2020 Note 8 - Stock-based Compensation Note 9 - Accumulated Other Comprehensive Loss Note 11 - Segment Reporting prlb_EmployeeStockPurchasePlanOfferingPeriod Employee Stock Purchase Plan, Offering Period (Month) The offering period during which employees may purchase stock through the Employee Stock Purchase Plan. Income Tax Disclosure [Text Block] Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Expected volatility Other long-term assets us-gaap_ShareBasedCompensation Stock-based compensation expense Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details) Weighted average useful life remaining (Year) us-gaap_LiabilitiesCurrent Total current liabilities Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Note 7 - Inventory - Inventory (Details) Useful Life (Year) Note 8 - Stock-based Compensation - Stock Option Activity (Details) Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details) Expected life (months) (Year) Expected life (Year) Note 8 - Stock-based Compensation - Restricted Stock Options (Details) Note 8 - Stock-based Compensation - Performance Stock (Details) Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block] US States and Political Subdivisions Debt Securities [Member] Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details) Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Note 11 - Segment Reporting - Income From Operations (Details) Operating expenses Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Notes To Financial Statements us-gaap_AssetsFairValueDisclosure Total Notes To Financial Statements [Abstract] Share-based Payment Arrangement, Option, Activity [Table Text Block] us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments Amortization of held-to-maturity securities Granted, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Granted, weighted-average grant date fair value (in dollars per share) Proceeds from maturities of marketable securities Restrictions lapsed, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue Restrictions lapsed, weighted-average grant date fair value (in dollars per share) Forfeited, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue Forfeited, weighted-average grant date fair value (in dollars per share) Schedule of Finite-Lived Intangible Assets [Table Text Block] Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Restricted stock, weighted-average grant date fair value (in dollars per share) Restricted stock, weighted-average grant date fair value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Forfeited (in shares) Commercial Paper, Not Included with Cash and Cash Equivalents [Member] us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax Foreign currency translation adjustment us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Restricted stock (in shares) Restricted stock (in shares) US Government Agencies Debt Securities [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod Granted (in shares) Corporate Debt Securities [Member] Long-term marketable securities Depreciation and amortization us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod Restrictions lapsed (in shares) Schedule of Nonvested Performance-based Units Activity [Table Text Block] us-gaap_OtherComprehensiveIncomeLossNetOfTax Net current-period other comprehensive income (loss) Options exercisable, weighted-average exercise price (in dollars per share) us-gaap_AssetsCurrent Total current assets us-gaap_PaymentsToAcquireOtherInvestments Purchases of other assets and investments Other comprehensive income (loss) before reclassifications Amounts reclassified from accumulated other comprehensive loss Options exercisable (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) us-gaap_PaymentsToAcquireHeldToMaturitySecurities Purchases of marketable securities Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 26,648,524 and 26,786,459 shares as of March 31, 2020 and December 31, 2019, respectively Financial Instruments [Domain] Adjustments to reconcile net income to net cash provided by operating activities: Measurement Frequency [Axis] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice Options outstanding, weighted-average exercise price (in dollars per share) Options outstanding, weighted-average exercise price (in dollars per share) Measurement Frequency [Domain] Fair Value, Recurring [Member] Common stock, shares authorized (in shares) Forfeited, weighted-average exercise price (in dollars per share) Common stock, shares issued (in shares) Financial Instrument [Axis] Common stock, par value (in dollars per share) Goodwill and Intangible Assets Disclosure [Text Block] us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice Granted, weighted-average exercise price (in dollars per share) Exercised, weighted-average exercise price (in dollars per share) Accrued compensation Income taxes payable Statistical Measurement [Domain] Maximum [Member] Minimum [Member] us-gaap_AccountsPayableCurrent Accounts payable us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber Options outstanding (in shares) Options outstanding (in shares) Statistical Measurement [Axis] Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of March 31, 2020 and December 31, 2019 Preferred stock, shares issued (in shares) us-gaap_PolicyTextBlockAbstract Accounting Policies Corporate Unallocated and Japan Segment[Member] Segment for corporate unallocated expenses and Japan. Europe Segment [Member] Operating segment for Europe Preferred stock, shares authorized (in shares) United States Segment [Member] Operating segment for United States. Inventory Inventory, net of allowance Japan Segment [Member] Operating segment for Japan. Preferred stock, par value (in dollars per share) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date Work in process us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent Revenue us-gaap_InventoryValuationReserves Allowance for obsolescence Fair Value, Inputs, Level 3 [Member] Employee stock options and other (in shares) us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Purchases of property, equipment and other capital assets Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block] Tabular disclosure of the valuation assumptions of share-based payment awards other than stock options. Fair Value Hierarchy and NAV [Domain] us-gaap_InventoryGross Total inventory Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) Noncompete Agreements [Member] Fair Value Hierarchy and NAV [Axis] Current liabilities Marketing-Related Intangible Assets [Member] Shares used to compute net income per share: Raw materials us-gaap_Assets Total assets us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total Operating activities us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) Customer Relationships [Member] Investment [Text Block] Statement [Line Items] Allowance for doubtful accounts Accounts receivable, net of allowance for doubtful accounts of $1,821 and $952 as of March 31, 2020 and December 31, 2019, respectively Computer Software, Intangible Asset [Member] Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Statements of Operations: Share-based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Short-term marketable securities Additional paid-in capital AOCI Attributable to Parent [Member] Shareholders' equity Other income, net Segment Reporting Disclosure [Text Block] Award Type [Domain] Performance change, weighted-average grant date fair value (in dollars per share) Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options. Performance change (in shares) Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan). Current assets Fair Value Disclosures [Text Block] Award Type [Axis] Net income Net income us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization Accumulated Amortization Net Total estimated amortization expense Gross Restricted Stock [Member] us-gaap_Liabilities Total liabilities us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash used in financing activities Performance Shares [Member] us-gaap_GoodwillPeriodIncreaseDecrease Goodwill, Period Increase (Decrease), Total us-gaap_OperatingIncomeLoss Income from operations Income from operations Share-based Payment Arrangement, Option [Member] us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by operating activities Prepaid expenses and other current assets us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash (used in) provided by investing activities Effect of exchange rate changes on cash and cash equivalents us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease Net (decrease) increase in cash and cash equivalents us-gaap_GrossProfit Gross profit Income from Operations by Geographic Area [Table Text Block] Tabular disclosure of income from operations by geographic area. Cost of revenue Consolidation Items [Domain] Long-term deferred tax liabilities Property and equipment, net Long-lived assets Goodwill Consolidation Items [Axis] Bank Time Deposits [Member] us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Purchases of shares withheld for tax obligations Investing activities us-gaap_PaymentsForRepurchaseOfCommonStock Repurchases of common stock Amortized Cost Total marketable securities prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. Net income per share: Retained Earnings [Member] Earnings Per Share [Text Block] us-gaap_IncreaseDecreaseInOtherOperatingLiabilities Accrued liabilities and other Income taxes Proceeds from exercises of stock options prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. Additional Paid-in Capital [Member] Common Stock [Member] prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment. Provision for income taxes Income Tax Expense (Benefit), Total Equity Components [Axis] Equity Component [Domain] Accounts payable us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Income before income taxes us-gaap_OperatingExpenses Total operating expenses General and administrative Disclosure of Reclassification Amount [Text Block] Due in one year or less Due after one year through five years Cash and cash equivalents Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss Unrealized Losses Unrealized Gains us-gaap_AllocatedShareBasedCompensationExpense Share-based Payment Arrangement, Expense Money market mutual fund Document Quarterly Report Amendment Flag Entity Incorporation, State or Country Code us-gaap_UnrecognizedTaxBenefits Unrecognized Tax Benefits, Ending Balance Accounting Policies [Abstract] Comprehensive Income (net of tax) Significant Accounting Policies [Text Block] Comprehensive income Document Transition Report City Area Code New Accounting Pronouncements, Policy [Policy Text Block] Entity Interactive Data Current Security Exchange Name Common stock, shares outstanding (in shares) Balance (in shares) Balance (in shares) Title of 12(b) Security Current Fiscal Year End Date us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other Document Fiscal Period Focus Document Fiscal Year Focus Document Period End Date Entity File Number Entity Emerging Growth Company Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] Accrued liabilities and other Entity Filer Category Entity Current Reporting Status Segments [Axis] Segments [Domain] Diluted (in shares) Diluted - weighted-average shares outstanding: (in shares) Debt Securities, Held-to-maturity [Table Text Block] us-gaap_IncreaseDecreaseInAccountsReceivable Accounts receivable Stock-based compensation expense Entity Tax Identification Number Entity Central Index Key Entity Registrant Name Entity [Domain] Legal Entity [Axis] Statement [Table] Entity Address, Address Line One Statement of Financial Position [Abstract] Diluted (in dollars per share) Diluted (in dollars per share) Basic (in shares) Basic - weighted-average shares outstanding: (in shares) us-gaap_AmortizationOfIntangibleAssets Amortization of Intangible Assets, Total Entity Address, City or Town us-gaap_EffectiveIncomeTaxRateContinuingOperations Effective Income Tax Rate Reconciliation, Percent, Total Entity Address, Postal Zip Code Basic (in dollars per share) Basic (in dollars per share) Entity Address, State or Province Statement of Cash Flows [Abstract] Entity Common Stock, Shares Outstanding ESPP [Member] ESPP [member Statement of Stockholders' Equity [Abstract] us-gaap_StockRepurchasedAndRetiredDuringPeriodValue Repurchases of common stock us-gaap_StockRepurchasedAndRetiredDuringPeriodShares Repurchases of common stock (in shares) Income Statement [Abstract] Revenue from External Customers by Geographic Areas [Table Text Block] Long-lived Assets by Geographic Areas [Table Text Block] us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Investments Classified by Contractual Maturity Date [Table Text Block] Local Phone Number us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised Exercised (in shares) us-gaap_TableTextBlock Notes Tables Common shares issued on exercise of options and other, net of shares withheld for tax obligations Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) Fair Value, Assets Measured on Recurring Basis [Table Text Block] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross Granted (in shares) Financing activities us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod Forfeited (in shares) us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Other long-term liabilities Marketing and sales Fair Value us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and shareholders' equity Retained earnings Research and development Accumulated other comprehensive loss Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Domain] Changes in operating assets and liabilities: us-gaap_StockholdersEquity Total shareholders' equity Balance Balance Other comprehensive income us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements us-gaap_OtherNoncashIncomeExpense Other Inventory Disclosure [Text Block] Long-term operating lease liabilities Schedule of Inventory, Current [Table Text Block] Class of Stock [Axis] Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Comprehensive Income (Loss) [Table Text Block] Current operating lease liabilities Other intangible assets, net us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions Performance stock (in shares) Performance stock (in shares) Operating Segments [Member] Operating lease assets Deferred taxes us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive Thereafter EX-101.PRE 9 prlb-20200331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 10 R6.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Operating activities    
Net income $ 13,984 $ 15,511
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 7,958 7,439
Stock-based compensation expense 3,033 3,040
Deferred taxes 3,392 379
Amortization of held-to-maturity securities 55 16
Other (644) 236
Changes in operating assets and liabilities:    
Accounts receivable (5,084) (2,386)
Inventories (537) 739
Prepaid expenses and other (1,240) (211)
Income taxes (841) 3,006
Accounts payable 1,739 (805)
Accrued liabilities and other 595 (8,962)
Net cash provided by operating activities 22,410 18,002
Investing activities    
Purchases of property, equipment and other capital assets (13,421) (12,735)
Purchases of other assets and investments (3,000) (4,000)
Purchases of marketable securities (37,629) 0
Proceeds from maturities of marketable securities 10,700 17,006
Net cash (used in) provided by investing activities (43,350) 271
Financing activities    
Proceeds from exercises of stock options 135 174
Purchases of shares withheld for tax obligations (1,048) (594)
Repurchases of common stock (11,185) (17,309)
Net cash used in financing activities (12,098) (17,729)
Effect of exchange rate changes on cash and cash equivalents (282) (240)
Net (decrease) increase in cash and cash equivalents (33,320) 304
Cash and cash equivalents, beginning of period 125,225 85,046
Cash and cash equivalents, end of period $ 91,905 $ 85,350
XML 11 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.1 html 101 276 1 false 29 0 false 7 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.protolabs.com/20200331/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Balance Sheets (Current Period Unaudited) Sheet http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited Consolidated Balance Sheets (Current Period Unaudited) Statements 2 false false R3.htm 002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Sheet http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) Statements 3 false false R4.htm 003 - Statement - Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited Consolidated Statements of Comprehensive Income (Unaudited) Statements 4 false false R5.htm 004 - Statement - Consolidated Statements of Shareholders' Equity (Unaudited) Sheet http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited Consolidated Statements of Shareholders' Equity (Unaudited) Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited Consolidated Statements of Cash Flows (Unaudited) Statements 6 false false R7.htm 006 - Disclosure - Note 1 - Basis of Presentation Sheet http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation Note 1 - Basis of Presentation Notes 7 false false R8.htm 007 - Disclosure - Note 2 - Recent Accounting Pronouncements Sheet http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements Note 2 - Recent Accounting Pronouncements Notes 8 false false R9.htm 008 - Disclosure - Note 3 - Net Income Per Common Share Sheet http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share Note 3 - Net Income Per Common Share Notes 9 false false R10.htm 009 - Disclosure - Note 4 - Goodwill and Other Intangible Assets Sheet http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets Note 4 - Goodwill and Other Intangible Assets Notes 10 false false R11.htm 010 - Disclosure - Note 5 - Fair Value Measurements Sheet http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements Note 5 - Fair Value Measurements Notes 11 false false R12.htm 011 - Disclosure - Note 6 - Marketable Securities Sheet http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities Note 6 - Marketable Securities Notes 12 false false R13.htm 012 - Disclosure - Note 7 - Inventory Sheet http://www.protolabs.com/20200331/role/statement-note-7-inventory Note 7 - Inventory Notes 13 false false R14.htm 013 - Disclosure - Note 8 - Stock-based Compensation Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation Note 8 - Stock-based Compensation Notes 14 false false R15.htm 014 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss Sheet http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss Note 9 - Accumulated Other Comprehensive Loss Notes 15 false false R16.htm 015 - Disclosure - Note 10 - Income Taxes Sheet http://www.protolabs.com/20200331/role/statement-note-10-income-taxes Note 10 - Income Taxes Notes 16 false false R17.htm 016 - Disclosure - Note 11 - Segment Reporting Sheet http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting Note 11 - Segment Reporting Notes 17 false false R18.htm 017 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies Significant Accounting Policies (Policies) Policies http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements 18 false false R19.htm 018 - Disclosure - Note 3 - Net Income Per Common Share (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables Note 3 - Net Income Per Common Share (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share 19 false false R20.htm 019 - Disclosure - Note 4 - Goodwill and Other Intangible Assets (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables Note 4 - Goodwill and Other Intangible Assets (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets 20 false false R21.htm 020 - Disclosure - Note 5 - Fair Value Measurements (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables Note 5 - Fair Value Measurements (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements 21 false false R22.htm 021 - Disclosure - Note 6 - Marketable Securities (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables Note 6 - Marketable Securities (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities 22 false false R23.htm 022 - Disclosure - Note 7 - Inventory (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables Note 7 - Inventory (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-7-inventory 23 false false R24.htm 023 - Disclosure - Note 8 - Stock-based Compensation (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables Note 8 - Stock-based Compensation (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation 24 false false R25.htm 024 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables Note 9 - Accumulated Other Comprehensive Loss (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss 25 false false R26.htm 025 - Disclosure - Note 11 - Segment Reporting (Tables) Sheet http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables Note 11 - Segment Reporting (Tables) Tables http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting 26 false false R27.htm 026 - Disclosure - Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) Details 27 false false R28.htm 027 - Disclosure - Note 4 - Goodwill and Other Intangible Assets (Details Textual) Sheet http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual Note 4 - Goodwill and Other Intangible Assets (Details Textual) Details http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables 28 false false R29.htm 028 - Disclosure - Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) Details 29 false false R30.htm 029 - Disclosure - Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) Details 30 false false R31.htm 030 - Disclosure - Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) Details 31 false false R32.htm 031 - Disclosure - Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details) Details 32 false false R33.htm 032 - Disclosure - Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) Details 33 false false R34.htm 033 - Disclosure - Note 7 - Inventory - Inventory (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details Note 7 - Inventory - Inventory (Details) Details 34 false false R35.htm 034 - Disclosure - Note 8 - Stock-based Compensation (Details Textual) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual Note 8 - Stock-based Compensation (Details Textual) Details http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables 35 false false R36.htm 035 - Disclosure - Note 8 - Stock-based Compensation - Stock Option Activity (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details Note 8 - Stock-based Compensation - Stock Option Activity (Details) Details 36 false false R37.htm 036 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details) Details 37 false false R38.htm 037 - Disclosure - Note 8 - Stock-based Compensation - Restricted Stock Options (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details Note 8 - Stock-based Compensation - Restricted Stock Options (Details) Details 38 false false R39.htm 038 - Disclosure - Note 8 - Stock-based Compensation - Performance Stock (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details Note 8 - Stock-based Compensation - Performance Stock (Details) Details 39 false false R40.htm 039 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details) Details 40 false false R41.htm 040 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details) Details 41 false false R42.htm 041 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details) Details 42 false false R43.htm 042 - Disclosure - Note 10 - Income Taxes (Details Textual) Sheet http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual Note 10 - Income Taxes (Details Textual) Details http://www.protolabs.com/20200331/role/statement-note-10-income-taxes 43 false false R44.htm 043 - Disclosure - Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) Details 44 false false R45.htm 044 - Disclosure - Note 11 - Segment Reporting - Income From Operations (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details Note 11 - Segment Reporting - Income From Operations (Details) Details 45 false false R46.htm 045 - Disclosure - Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Sheet http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details) Details 46 false false All Reports Book All Reports prlb20200331_10q.htm ex_177720.htm ex_177721.htm ex_177722.htm prlb-20200331.xsd prlb-20200331_cal.xml prlb-20200331_def.xml prlb-20200331_lab.xml prlb-20200331_pre.xml http://fasb.org/srt/2020-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/us-gaap/2020-01-31 true true XML 12 R2.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Balance Sheets (Current Period Unaudited) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Current assets    
Cash and cash equivalents $ 91,905 $ 125,225
Short-term marketable securities 38,194 35,437
Accounts receivable, net of allowance for doubtful accounts of $1,821 and $952 as of March 31, 2020 and December 31, 2019, respectively 62,091 57,450
Inventory 10,507 10,075
Prepaid expenses and other current assets 9,777 8,232
Total current assets 212,474 236,419
Property and equipment, net 268,001 263,712
Goodwill 128,752 128,752
Other intangible assets, net 16,615 17,369
Long-term marketable securities 37,077 12,960
Operating lease assets 10,548 11,425
Other long-term assets 4,623 3,030
Total assets 678,090 673,667
Current liabilities    
Accounts payable 18,219 16,804
Accrued compensation 12,460 15,058
Accrued liabilities and other 12,950 11,057
Current operating lease liabilities 3,254 3,340
Income taxes payable 414 1,322
Total current liabilities 47,297 47,581
Long-term operating lease liabilities 7,871 8,565
Long-term deferred tax liabilities 29,652 26,283
Other long-term liabilities 5,530 5,448
Total liabilities 90,350 87,877
Shareholders' equity    
Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of March 31, 2020 and December 31, 2019 0 0
Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 26,648,524 and 26,786,459 shares as of March 31, 2020 and December 31, 2019, respectively 27 27
Additional paid-in capital 268,574 268,059
Retained earnings 329,137 324,722
Accumulated other comprehensive loss (9,998) (7,018)
Total shareholders' equity 587,740 585,790
Total liabilities and shareholders' equity $ 678,090 $ 673,667
XML 13 R33.htm IDEA: XBRL DOCUMENT v3.20.1
Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Due in one year or less $ 38,194  
Due after one year through five years 37,077  
Total marketable securities $ 75,271 $ 48,397
XML 14 R37.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details)
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Risk-free interest rate 1.59% 2.33%
Expected life (Year) 6 years 6 years
Expected volatility 42.63% 37.36%
Expected dividend yield 0.00% 0.00%
Share-based Payment Arrangement, Option [Member]    
Risk-free interest rate 1.47% 2.58%
Expected life (Year) 6 years 3 months 6 years 3 months
Expected volatility 42.40% 42.74%
Expected dividend yield 0.00% 0.00%
XML 15 R14.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Share-based Payment Arrangement [Text Block]

Note 8 – Stock-Based Compensation

 

Under the Company’s 2012 Long-Term Incentive Plan, as amended (the 2012 Plan), the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the 2012 Plan have a maximum term of ten years from the date of grant. The compensation committee may provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and SARs granted under the 2012 Plan generally may not be less than the fair market value of a share of our common stock on the date of the grant.

 

Employee Stock Purchase Plan

 

The Company’s 2012 Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock each offering period at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for six-month offering periods with a single purchase period ending May 15 and November 15, respectively. At the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the first trading day of the offering period or on the last trading day of the offering period.

 

Stock-Based Compensation Expense

 

Stock-based compensation expense was $3.0 million for each of the three months ended  March 31, 2020 and 2019, respectively.

 

Stock Options

 

The following table summarizes stock option activity during the three months ended March 31, 2020:

 


 

           

Weighted-

 
           

Average

 
   

Stock Options

   

Exercise Price

 

Options outstanding at December 31, 2019

    276,266     $ 72.38  
Granted     33,192       96.72  
Exercised     (2,001 )     67.53  
Forfeited     (848 )     110.38  
Options outstanding at March 31, 2020     306,609     $ 74.94  
                 
Exercisable at March 31, 2020     187,326     $ 62.48  

 


 

The outstanding options generally have a term of ten years. For employees, options granted become exercisable ratably over the vesting period, which is generally a period from four to five years, beginning on the first anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the first anniversary of the grant date.

 

The weighted-average grant date fair value of options that were granted during the three months ended March 31, 2020 was $41.72.

 

The following table provides the assumptions used in the Black-Scholes pricing model valuation of options during the three months ended March 31, 2020 and 2019:

 


 

   

Three Months Ended March 31,

   

2020

 

2019

Risk-free interest rate

 

1.47%

 

2.58%

Expected life (years)

  6.25   6.25

Expected volatility

 

42.40%

 

42.74%

Expected dividend yield

 

0%

 

0%

 


 

As of March 31, 2020, there was $4.5 million of unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.9 years.

 

Restricted Stock

 

Restricted stock awards are share-settled awards and restrictions lapse ratably over the vesting period, which is generally a period from four to five years, beginning on the first anniversary of the grant date, subject to the employee's continuing service to the Company. For directors, restrictions generally lapse in full on the first anniversary of the grant date. 

 

The following table summarizes restricted stock activity during the three months ended March 31, 2020:

 


 

           

Weighted-

 
           

Average

 
           

Grant Date

 
   

Restricted

   

Fair Value

 
   

Stock

   

Per Share

 

Restricted stock at December 31, 2019

    314,973     $ 89.55  
Granted     28,105       96.72  
Restrictions lapsed     (25,598 )     79.27  
Forfeited     (7,616 )     90.47  
Restricted stock at March 31, 2020     309,864     $ 91.03  

 


 

As of March 31, 2020, there was $21.0 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.6 years. 

 

Performance Stock

 

Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between 0 percent and 150 percent of that target number capable of being earned and vesting at the end of a three-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from 2017 to 2019 are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in 2020 are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.

 

The following table summarizes performance stock activity during the three months ended March 31, 2020:

 


 

           

Weighted-

 
           

Average

 
           

Grant Date

 
   

Performance

   

Fair Value

 
   

Stock

   

Per Share

 

Performance stock at December 31, 2019

    9,383     $ 58.35  

Granted

    19,956       118.66  

Restrictions lapsed

    (7,113 )     58.35  

Performance change

    -       -  

Forfeited

    (2,270 )     58.35  

Performance stock at March 31, 2020

    19,956     $ 118.66  

 


 

The following table provides the assumptions used in the Monte Carlo pricing model valuation of PSUs during the three months ended March 31, 2020:

 


 

   

Three Months Ended March 31,

   

2020

 

Risk-free interest rate

  1.41%  

Expected life (years)

  2.88  

Expected volatility

  38.70%  

Expected dividend yield

  0%  

 


 

As of March 31, 2020, there was $2.3 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 2.9 years. 

 

Employee Stock Purchase Plan

 

The following table presents the assumptions used to estimate the fair value of the ESPP during the three months ended March 31, 2020 and 2019

 


 

   

Three Months Ended March 31,

   

2020

 

2019

Risk-free interest rate

 

1.59%

 

2.33%

Expected life (months)

  6.00   6.00

Expected volatility

 

42.63%

 

37.36%

Expected dividend yield

 

0%

 

0%

 


 

XML 16 R10.htm IDEA: XBRL DOCUMENT v3.20.1
Note 4 - Goodwill and Other Intangible Assets
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Goodwill and Intangible Assets Disclosure [Text Block]

Note 4 – Goodwill and Other Intangible Assets

 

There were no changes in the carrying amount of Goodwill during the three months ended March 31, 2020.

 

Intangible assets other than goodwill at  March 31, 2020 and December 31, 2019 were as follows:

 


 

   

March 31, 2020

   

December 31, 2019

   

Useful

 

Weighted Average

(in thousands)

 

Gross

   

Accumulated Amortization

   

Net

   

Gross

   

Accumulated Amortization

   

Net

   

Life (in years)

 

Useful Life Remaining (in years)

Intangible assets with finite lives:

                                                       

Marketing assets

  $ 930     $ (550 )   $ 380     $ 930     $ (527 )   $ 403     10.0   4.0

Non-compete agreement

    270       (226 )     44       270       (222 )     48     2.0 - 5.0   2.8

Software technology

    13,229       (2,618 )     10,611       13,229       (2,275 )     10,954     10.0   7.8

Customer relationships

    10,070       (4,490 )     5,580       10,070       (4,106 )     5,964     6.0 - 9.0   3.6

Total intangible assets

  $ 24,499     $ (7,884 )   $ 16,615     $ 24,499     $ (7,130 )   $ 17,369          

 


 

Amortization expense for intangible assets was $0.8 million and $0.9 million for the three months ended  March 31, 2020 and 2019, respectively.

 

Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:

 


 

(in thousands)

 

Estimated Amortization Expense

 
Remaining 2020   $ 2,262  
2021     3,016  
2022     3,016  
2023     2,813  
2024     1,400  
Thereafter     4,108  

Total estimated amortization expense

  $ 16,615  

 


 

XML 17 R18.htm IDEA: XBRL DOCUMENT v3.20.1
Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2020
Accounting Policies [Abstract]  
New Accounting Pronouncements, Policy [Policy Text Block]

Recently Adopted Accounting Pronouncements

 

During the first quarter of 2020, the Company adopted the Financial Accounting Standards Board (FASB) Accounting Standards Update (ASU) 2016-13, Financial Instruments – Credit Losses, which is intended to provide financial statement users with more decision-useful information about the expected credit losses on financial instruments held by a reporting entity at each reporting date. The adoption of this guidance had no material impact on our consolidated financial statements. 

 

During the fourth quarter of 2019, the Company early adopted the FASB ASU 2017-04, Intangibles – Goodwill and Other, which is intended to simplify the subsequent measurement of goodwill. The adoption of this guidance had no material impact on our consolidated financial statements.

XML 18 R26.htm IDEA: XBRL DOCUMENT v3.20.1
Note 11 - Segment Reporting (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Income from Operations by Geographic Area [Table Text Block]
   

Three Months Ended March 31,

 

(in thousands)

 

2020

   

2019

 

Income from Operations:

               

United States

  $ 25,089     $ 26,310  

Europe

    4,364       4,221  

Corporate Unallocated and Japan

    (12,628 )     (11,083 )

Total Income from Operations

  $ 16,825     $ 19,448  
Long-lived Assets by Geographic Areas [Table Text Block]
   

March 31,

   

December 31,

 

(in thousands)

 

2020

   

2019

 

Total long-lived assets:

               
United States   $ 215,691     $ 210,171  
Europe     43,984       45,019  
Japan     8,326       8,522  

Total Assets

  $ 268,001     $ 263,712  
Operating Segments [Member]  
Notes Tables  
Revenue from External Customers by Geographic Areas [Table Text Block]
   

Three Months Ended March 31,

 

(in thousands)

 

2020

   

2019

 

Revenue:

               

United States

  $ 90,076     $ 87,811  

Europe

    20,787       21,254  

Japan

    4,245       4,387  

Total revenue

  $ 115,108     $ 113,452  
XML 19 R22.htm IDEA: XBRL DOCUMENT v3.20.1
Note 6 - Marketable Securities (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Debt Securities, Held-to-maturity [Table Text Block]
   

March 31, 2020

 

(in thousands)

 

Cost

   

Unrealized Gains

   

Unrealized Losses

   

Fair Value

 
U.S. municipal securities   $ 12,704     $ 19       (14 )   $ 12,709  
Corporate debt securities     35,100       45       (239 )     34,906  
U.S. government agency securities     20,801       61       -       20,862  
Certificates of deposit/time deposits     3,697       31       (2 )     3,726  
Commercial paper     2,969       11       -       2,980  

Total marketable securities

  $ 75,271     $ 167     $ (255 )   $ 75,183  
   

December 31, 2019

 

(in thousands)

 

Cost

   

Unrealized Gains

   

Unrealized Losses

   

Fair Value

 

U.S. municipal securities

  $ 10,204     $ 9     $ (3 )   $ 10,210  

Corporate debt securities

    26,944       80       (12 )     27,012  

U.S. government agency securities

    6,274       1       (7 )     6,268  

Certificates of deposit/time deposits

    1,484       22       -       1,506  
Commercial paper     3,491       -       -       3,491  

Total marketable securities

  $ 48,397     $ 112     $ (22 )   $ 48,487  
Investments Classified by Contractual Maturity Date [Table Text Block]
   

March 31,

 

(in thousands)

 

2020

 

Due in one year or less

  $ 38,194  

Due after one year through five years

    37,077  

Total marketable securities

  $ 75,271  
XML 20 R43.htm IDEA: XBRL DOCUMENT v3.20.1
Note 10 - Income Taxes (Details Textual) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Dec. 31, 2019
Income Tax Expense (Benefit), Total $ 3,895 $ 4,150  
Effective Income Tax Rate Reconciliation, Percent, Total 21.80% 21.10%  
Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period 0.70%    
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent 21.00%    
Unrecognized Tax Benefits, Ending Balance $ 4,600   $ 4,600
XML 21 prlb20200331_10q_htm.xml IDEA: XBRL DOCUMENT 0001443669 2020-01-01 2020-03-31 0001443669 2020-04-30 0001443669 2020-03-31 0001443669 2019-12-31 0001443669 2019-01-01 2019-03-31 0001443669 us-gaap:CommonStockMember 2019-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001443669 us-gaap:RetainedEarningsMember 2019-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001443669 us-gaap:CommonStockMember 2020-01-01 2020-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-03-31 0001443669 us-gaap:RetainedEarningsMember 2020-01-01 2020-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-03-31 0001443669 us-gaap:CommonStockMember 2020-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001443669 us-gaap:RetainedEarningsMember 2020-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-31 0001443669 us-gaap:CommonStockMember 2018-12-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001443669 us-gaap:RetainedEarningsMember 2018-12-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001443669 2018-12-31 0001443669 us-gaap:CommonStockMember 2019-01-01 2019-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-03-31 0001443669 us-gaap:RetainedEarningsMember 2019-01-01 2019-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-03-31 0001443669 us-gaap:CommonStockMember 2019-03-31 0001443669 us-gaap:AdditionalPaidInCapitalMember 2019-03-31 0001443669 us-gaap:RetainedEarningsMember 2019-03-31 0001443669 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-31 0001443669 2019-03-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2020-03-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2019-12-31 0001443669 us-gaap:MarketingRelatedIntangibleAssetsMember 2020-01-01 2020-03-31 0001443669 us-gaap:NoncompeteAgreementsMember 2020-03-31 0001443669 us-gaap:NoncompeteAgreementsMember 2019-12-31 0001443669 srt:MinimumMember us-gaap:NoncompeteAgreementsMember 2020-01-01 2020-03-31 0001443669 srt:MaximumMember us-gaap:NoncompeteAgreementsMember 2020-01-01 2020-03-31 0001443669 us-gaap:NoncompeteAgreementsMember 2020-01-01 2020-03-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-03-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-12-31 0001443669 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-01-01 2020-03-31 0001443669 us-gaap:CustomerRelationshipsMember 2020-03-31 0001443669 us-gaap:CustomerRelationshipsMember 2019-12-31 0001443669 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2020-01-01 2020-03-31 0001443669 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2020-01-01 2020-03-31 0001443669 us-gaap:CustomerRelationshipsMember 2020-01-01 2020-03-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2020-03-31 0001443669 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001443669 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001443669 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2019-12-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2020-03-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2020-03-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2020-03-31 0001443669 us-gaap:BankTimeDepositsMember 2020-03-31 0001443669 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2020-03-31 0001443669 us-gaap:USStatesAndPoliticalSubdivisionsMember 2019-12-31 0001443669 us-gaap:CorporateDebtSecuritiesMember 2019-12-31 0001443669 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2019-12-31 0001443669 us-gaap:BankTimeDepositsMember 2019-12-31 0001443669 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2019-12-31 0001443669 prlb:ESPPMember 2020-01-01 2020-03-31 0001443669 srt:MinimumMember us-gaap:EmployeeStockOptionMember 2020-01-01 2020-03-31 0001443669 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2020-01-01 2020-03-31 0001443669 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-03-31 0001443669 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-03-31 0001443669 us-gaap:EmployeeStockOptionMember 2020-03-31 0001443669 srt:MinimumMember us-gaap:RestrictedStockMember 2020-01-01 2020-03-31 0001443669 srt:MaximumMember us-gaap:RestrictedStockMember 2020-01-01 2020-03-31 0001443669 us-gaap:RestrictedStockMember 2019-12-31 0001443669 us-gaap:RestrictedStockMember 2020-01-01 2020-03-31 0001443669 us-gaap:RestrictedStockMember 2020-03-31 0001443669 us-gaap:PerformanceSharesMember 2020-03-31 0001443669 us-gaap:PerformanceSharesMember 2020-01-01 2020-03-31 0001443669 us-gaap:PerformanceSharesMember 2019-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2019-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2018-12-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-01 2020-03-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2019-01-01 2019-03-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2020-03-31 0001443669 us-gaap:AccumulatedTranslationAdjustmentMember 2019-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2020-01-01 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2019-01-01 2019-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2020-01-01 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2019-01-01 2019-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2020-01-01 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2019-01-01 2019-03-31 0001443669 us-gaap:OperatingSegmentsMember 2020-01-01 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember 2019-01-01 2019-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2020-01-01 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:CorporateUnallocatedAndJapanSegmentMember 2019-01-01 2019-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:UnitedStatesSegmentMember 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:EuropeSegmentMember 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember prlb:JapanSegmentMember 2019-12-31 0001443669 us-gaap:OperatingSegmentsMember 2020-03-31 0001443669 us-gaap:OperatingSegmentsMember 2019-12-31 shares thunderdome:item iso4217:USD iso4217:USD shares utr:Y pure utr:M 0001443669 Proto Labs Inc false --12-31 Q1 2020 1821000 952000 0.001 0.001 10000000 10000000 0 0 0 0 0.001 0.001 150000000 150000000 26648524 26648524 26786459 26786459 P6M P4Y P5Y P4Y P5Y 0 P3Y 4600000 10-Q true 2020-03-31 false 001-35435 MN 41-1939628 5540 Pioneer Creek Drive Maple Plain MN 55359 763 479-3680 Common Stock, Par Value $0.001 Per Share PRLB NYSE Yes Yes Large Accelerated Filer false false false 26612751 91905000 125225000 38194000 35437000 62091000 57450000 10507000 10075000 9777000 8232000 212474000 236419000 268001000 263712000 128752000 128752000 16615000 17369000 37077000 12960000 10548000 11425000 4623000 3030000 678090000 673667000 18219000 16804000 12460000 15058000 12950000 11057000 3254000 3340000 414000 1322000 47297000 47581000 7871000 8565000 29652000 26283000 5530000 5448000 90350000 87877000 0 0 27000 27000 268574000 268059000 329137000 324722000 -9998000 -7018000 587740000 585790000 678090000 673667000 115108000 113452000 57008000 54592000 58100000 58860000 18180000 18577000 8987000 8013000 14108000 12822000 41275000 39412000 16825000 19448000 1054000 213000 17879000 19661000 3895000 4150000 13984000 15511000 0.52 0.58 0.52 0.57 26776806 26963366 26929640 27177039 11004000 15987000 26786459 27000 268059000 324722000 -7018000 585790000 23525 0 -902000 0 0 -902000 0 3033000 0 0 3033000 161460 -0 1616000 9569000 -0 11185000 0 0 13984000 0 13984000 0 0 0 -2980000 -2980000 11004000 26648524 27000 268574000 329137000 -9998000 587740000 26984747 27000 258502000 291460000 -8492000 541497000 19950 0 -420000 0 0 -420000 0 3040000 0 0 3040000 157716 -0 1511000 15798000 -0 17309000 0 0 15511000 0 15511000 0 0 0 476000 476000 15987000 26846981 27000 259611000 291173000 -8016000 542795000 13984000 15511000 7958000 7439000 3033000 3040000 3392000 379000 -55000 -16000 644000 -236000 5084000 2386000 537000 -739000 1240000 211000 -841000 3006000 1739000 -805000 595000 -8962000 22410000 18002000 13421000 12735000 3000000 4000000 37629000 -0 10700000 17006000 -43350000 271000 135000 174000 1048000 594000 11185000 17309000 -12098000 -17729000 -282000 -240000 -33320000 304000 125225000 85046000 91905000 85350000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">1</em> – Basis of Presentation</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The unaudited interim Consolidated Financial Statements of Proto Labs, Inc. (Protolabs, the Company, we, us or our) have been prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) for interim financial information and with the instructions to Form <em style="font: inherit;">10</em>-Q and Article <em style="font: inherit;">10</em> of Regulation S-<em style="font: inherit;">X.</em> In the opinion of management, the accompanying financial statements reflect all adjustments necessary for a fair presentation of the Company’s statements of financial position, results of operations and cash flows for the periods presented. Except as otherwise disclosed herein, these adjustments consist of normal, recurring items. Operating results for interim periods are <em style="font: inherit;">not</em> necessarily indicative of results that <em style="font: inherit;"> may </em>be expected for the fiscal year as a whole.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The preparation of the financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses, and the related disclosures at the date of the financial statements and during the reporting period. Actual results could materially differ from these estimates. For further information, refer to the audited Consolidated Financial Statements and Notes thereto included in the Company’s Annual Report on Form <em style="font: inherit;">10</em>-K for the year ended <em style="font: inherit;"> December 31, 2019</em> as filed with the Securities and Exchange Commission (SEC) on <em style="font: inherit;"> February </em><em style="font: inherit;">26,</em> <em style="font: inherit;">2020.</em></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The accompanying Consolidated Balance Sheet as of <em style="font: inherit;"> December 31, 2019</em> was derived from the audited Consolidated Financial Statements but does <em style="font: inherit;">not</em> include all disclosures required by U.S. GAAP for a full set of financial statements. This Form <em style="font: inherit;">10</em>-Q should be read in conjunction with the Company’s Consolidated Financial Statements and Notes included in the Annual Report on Form <em style="font: inherit;">10</em>-K filed on <em style="font: inherit;"> February </em><em style="font: inherit;">26,</em> <em style="font: inherit;">2020</em> as referenced above.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">2</em> – Recent Accounting Pronouncements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b/></p><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Recently Adopted Accounting Pronouncements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2020,</em> the Company adopted the Financial Accounting Standards Board (FASB) Accounting Standards Update (ASU) <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em> <i>Financial Instruments – Credit Losses</i>, which is intended to provide financial statement users with more decision-useful information about the expected credit losses on financial instruments held by a reporting entity at each reporting date. The adoption of this guidance had <em style="font: inherit;">no</em> material impact on our consolidated financial statements. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">During the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2019,</em> the Company early adopted the FASB ASU <em style="font: inherit;">2017</em>-<em style="font: inherit;">04,</em> Intangibles – Goodwill and Other, which is intended to simplify the subsequent measurement of goodwill. The adoption of this guidance had <em style="font: inherit;">no</em> material impact on our consolidated financial statements.</p><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-family: Times New Roman; font-size: 10pt;"> <em style="font: inherit;"/> </div> </div> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Recently Adopted Accounting Pronouncements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2020,</em> the Company adopted the Financial Accounting Standards Board (FASB) Accounting Standards Update (ASU) <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em> <i>Financial Instruments – Credit Losses</i>, which is intended to provide financial statement users with more decision-useful information about the expected credit losses on financial instruments held by a reporting entity at each reporting date. The adoption of this guidance had <em style="font: inherit;">no</em> material impact on our consolidated financial statements. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">During the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2019,</em> the Company early adopted the FASB ASU <em style="font: inherit;">2017</em>-<em style="font: inherit;">04,</em> Intangibles – Goodwill and Other, which is intended to simplify the subsequent measurement of goodwill. The adoption of this guidance had <em style="font: inherit;">no</em> material impact on our consolidated financial statements.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">3</em> – Net Income per Common Share</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Basic net income per share is computed based on the weighted-average number of common shares outstanding. Diluted net income per share is computed based on the weighted-average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options, restricted stock units and restricted stock awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. Performance stock units are excluded from the calculation of dilutive potential common shares until the performance conditions have been satisfied.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The table below sets forth the computation of basic and diluted net income per share:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands, except share and per share amounts)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,984</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,511</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Basic - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,776,806</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,963,366</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt;">Effect of dilutive securities:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Employee stock options and other</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">152,834</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">213,673</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Diluted - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">26,929,640</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,177,039</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income per share:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Basic</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.52</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.58</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Diluted</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.52</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.57</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0pt auto 6pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-family: Times New Roman; font-size: 10pt;"> <em style="font: inherit;"/></div></div><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands, except share and per share amounts)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,984</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,511</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Basic - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,776,806</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,963,366</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt;">Effect of dilutive securities:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Employee stock options and other</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">152,834</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">213,673</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Diluted - weighted-average shares outstanding:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">26,929,640</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">27,177,039</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net income per share:</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Basic</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.52</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.58</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Diluted</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.52</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.57</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 13984000 15511000 26776806 26963366 152834 213673 26929640 27177039 0.52 0.58 0.52 0.57 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">4</em> – Goodwill and Other Intangible Assets</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">There were no changes in the carrying amount of Goodwill during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em>.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Intangible assets other than goodwill at <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;"> December 31, 2019</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="width: 19%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">March 31, 2020</em></em></em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="width: 19%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2019</em></em></em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" rowspan="1" style="padding: 0px; width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted Average</em></b></p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Life (in years)</em></b></p> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" rowspan="1" style="padding: 0px; width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful Life Remaining (in years)</em></b></p> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="text-indent: -9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets with finite lives:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Marketing assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">930</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(550</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">380</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">930</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(527</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">403</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.0</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.0</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Non-compete agreement</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(226</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(222</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">48</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.0 - 5.0</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.8</td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Software technology</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,229</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,618</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,611</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,229</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,275</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,954</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.0</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.8</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Customer relationships</p> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">10,070</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(4,490</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">5,580</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">10,070</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(4,106</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">5,964</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.0 - 9.0</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3.6</td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">24,499</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(7,884</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">16,615</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">24,499</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(7,130</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">17,369</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Amortization expense for intangible assets was $0.8 million and $0.9 million for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020 </em>and <em style="font: inherit;">2019</em>, respectively.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Estimated aggregated amortization expense based on the current carrying value of the amortizable intangible assets is as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 83%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="padding: 0px; width: 0%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Estimated Amortization Expense</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Remaining 2020</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2,262</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2021</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,016</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2022</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,016</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2023</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2,813</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2024</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">1,400</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Thereafter</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 14%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">4,108</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total estimated amortization expense</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">16,615</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-family: Times New Roman; font-size: 10pt;"> <em style="font: inherit;"/></div></div><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="width: 19%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">March 31, 2020</em></em></em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="width: 19%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2019</em></em></em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" rowspan="1" style="padding: 0px; width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted Average</em></b></p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Gross</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Accumulated Amortization</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="width: 1%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Net</em></b></p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Life (in years)</em></b></p> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="1" rowspan="1" style="padding: 0px; width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: thin solid rgb(0, 0, 0);"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Useful Life Remaining (in years)</em></b></p> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="text-indent: -9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Intangible assets with finite lives:</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Marketing assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">930</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(550</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">380</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">930</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(527</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">403</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.0</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.0</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Non-compete agreement</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(226</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(222</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">48</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.0 - 5.0</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.8</td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Software technology</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,229</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,618</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,611</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,229</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,275</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,954</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.0</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.8</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Customer relationships</p> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">10,070</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(4,490</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">5,580</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">10,070</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(4,106</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">5,964</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.0 - 9.0</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3.6</td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 24%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total intangible assets</p> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">24,499</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(7,884</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">16,615</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">24,499</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(7,130</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">17,369</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="width: 1%; padding-bottom: 3px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> </tr> </tbody> </table> 930000 550000 380000 930000 527000 403000 P10Y P4Y 270000 226000 44000 270000 222000 48000 P2Y P5Y P2Y9M18D 13229000 2618000 10611000 13229000 2275000 10954000 P10Y P7Y9M18D 10070000 4490000 5580000 10070000 4106000 5964000 P6Y P9Y P3Y7M6D 24499000 7884000 16615000 24499000 7130000 17369000 800000 900000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 83%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="padding: 0px; width: 0%; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Estimated Amortization Expense</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Remaining 2020</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2,262</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2021</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,016</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2022</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,016</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2023</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2,813</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2024</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">1,400</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Thereafter</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 14%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">4,108</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total estimated amortization expense</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 14%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">16,615</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> 2262000 3016000 3016000 2813000 1400000 4108000 16615000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">5</em> – Fair Value Measurements</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Accounting Standards Codification (ASC <em style="font: inherit;">820</em>), <i>Fair Value Measuremen</i>t (ASC <em style="font: inherit;">820</em>), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC <em style="font: inherit;">820</em> also establishes a fair value hierarchy that requires classification based on observable and unobservable inputs when measuring fair value. There are <em style="font: inherit;">three</em> levels of inputs that <em style="font: inherit;"> may </em>be used to measure fair value:</p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i>Level </i><em style="font: inherit;">1—Quoted</em> prices in active markets for identical assets or liabilities.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i>Level </i><em style="font: inherit;">2—Observable</em> inputs other than Level <em style="font: inherit;">1</em> prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are <em style="font: inherit;">not</em> active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i>Level </i><em style="font: inherit;">3—Unobservable</em> inputs that are supported by little or <em style="font: inherit;">no</em> market activity and that are significant to the fair value of the assets or liabilities.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level <em style="font: inherit;">1</em> inputs.</p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes financial assets as of <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;"> December 31, 2019</em> measured at fair value on a recurring basis: </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">March 31, 2020</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2019</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 40%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Financial Assets:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cash and cash equivalents</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: 9pt;">Money market mutual fund</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">31,291</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">68,962</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">31,291</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">68,962</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">March 31, 2020</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2019</em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 40%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 1</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 2</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Level 3</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Financial Assets:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cash and cash equivalents</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-indent: 9pt;">Money market mutual fund</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">31,291</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">68,962</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">$</td> <td style="margin: 0px; width: 7%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">31,291</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">68,962</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 7%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> 31291000 0 0 68962000 0 0 31291000 0 0 68962000 0 0 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">6</em> – Marketable Securities</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as held-to-maturity and are recorded at amortized cost, net of an allowance for credit losses. Categorization as held-to-maturity is based on the Company’s ability and intent to hold these securities to maturity. The following table summarizes information regarding the Company’s short-term and long-term marketable securities as of <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;"> December 31, 2019</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">March 31, 2020</em></em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">U.S. municipal securities</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">12,704</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">19</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(14</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">12,709</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Corporate debt securities</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">35,100</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(239</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">34,906</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">U.S. government agency securities</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">20,801</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">61</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">-</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">20,862</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Certificates of deposit/time deposits</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,697</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">31</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(2</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,726</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Commercial paper</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">2,969</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">11</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">2,980</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">75,271</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">167</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(255</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">75,183</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-family: Times New Roman; font-size: 10pt;"> <em style="font: inherit;"/></div><div class="PGHDR" style="width: 100%; text-align: left;"><a href="#toc" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt"/> </div> </div> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2019</em></em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,204</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,210</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,944</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">80</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(12</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,012</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,274</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,268</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">1,484</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">22</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">1,506</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">Commercial paper</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,491</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,491</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">48,397</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">112</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(22</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">48,487</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level <em style="font: inherit;">1</em>). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level <em style="font: inherit;">2</em>).</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">During the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2020,</em> the Company adopted the FASB ASU <em style="font: inherit;">2016</em>-<em style="font: inherit;">13,</em> <i>Financial Instruments – Credit Losses.</i> The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had <em style="font: inherit;">no</em> material impact on its consolidated financial statements. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The <em style="font: inherit;"> March 31, 2020</em> balance of held-to-maturity debt securities by contractual maturity is shown in the following table at amortized cost, net of an allowance for credit losses. Actual maturities <em style="font: inherit;"> may </em>differ from contractual maturities because the issuers of the securities <em style="font: inherit;"> may </em>have the right to prepay obligations without prepayment penalties.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">March 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 85%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38,194</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">37,077</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">75,271</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">March 31, 2020</em></em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">U.S. municipal securities</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">12,704</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">19</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(14</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">12,709</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Corporate debt securities</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">35,100</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(239</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">34,906</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">U.S. government agency securities</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">20,801</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">61</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">-</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">20,862</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Certificates of deposit/time deposits</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,697</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">31</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(2</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3,726</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Commercial paper</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">2,969</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">11</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 8%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">2,980</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">75,271</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">167</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(255</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">75,183</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 90%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 5%; margin-left: 5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;"><em style="font: inherit;">December 31, 2019</em></em></em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 56%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Cost</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Gains</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Unrealized Losses</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. municipal securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,204</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,210</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Corporate debt securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,944</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">80</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(12</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,012</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">U.S. government agency securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,274</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,268</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Certificates of deposit/time deposits</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">1,484</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">22</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">1,506</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">Commercial paper</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,491</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0">3,491</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding: 0; margin: 0"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">48,397</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">112</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">(22</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 8%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">48,487</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> 12704000 19000 14000 12709000 35100000 45000 239000 34906000 20801000 61000 -0 20862000 3697000 31000 2000 3726000 2969000 11000 -0 2980000 75271000 167000 255000 75183000 10204000 9000 3000 10210000 26944000 80000 12000 27012000 6274000 1000 7000 6268000 1484000 22000 -0 1506000 3491000 0 -0 3491000 48397000 112000 22000 48487000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">March 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 85%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due in one year or less</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38,194</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Due after one year through five years</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">37,077</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total marketable securities</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">75,271</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> 38194000 37077000 75271000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">7</em> – Inventory </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the average-cost method, which approximates <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s inventory consisted of the following as of the dates indicated:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 6pt auto 0px; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">March 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 70%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Raw materials</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">10,237</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">9,818</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Work in process</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">499</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">501</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total inventory</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,736</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,319</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Allowance for obsolescence</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(229</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(244</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Inventory, net of allowance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">10,507</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">10,075</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto 6pt; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-family: Times New Roman; font-size: 10pt;"> <em style="font: inherit;"/></div></div><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">March 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 70%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Raw materials</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">10,237</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">9,818</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Work in process</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">499</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">501</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Total inventory</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,736</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,319</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Allowance for obsolescence</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(229</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 12%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(244</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Inventory, net of allowance</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">10,507</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">10,075</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> 10237000 9818000 499000 501000 10736000 10319000 229000 244000 10507000 10075000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">8</em> – Stock-Based Compensation</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Under the Company’s <em style="font: inherit;">2012</em> Long-Term Incentive Plan, as amended (the <em style="font: inherit;">2012</em> Plan), the Company has the ability to grant stock options, stock appreciation rights (SARs), restricted stock, restricted stock units, other stock-based awards and cash incentive awards. Awards under the <em style="font: inherit;">2012</em> Plan have a maximum term of <em style="font: inherit;">ten</em> years from the date of grant. The compensation committee <em style="font: inherit;"> may </em>provide that the vesting or payment of any award will be subject to the attainment of specified performance measures in addition to the satisfaction of any continued service requirements and the compensation committee will determine whether such measures have been achieved. The per-share exercise price of stock options and SARs granted under the <em style="font: inherit;">2012</em> Plan generally <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be less than the fair market value of a share of our common stock on the date of the grant.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Employee Stock Purchase Plan</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s <em style="font: inherit;">2012</em> Employee Stock Purchase Plan (ESPP) allows eligible employees to purchase a variable number of shares of the Company’s common stock each offering period at a discount through payroll deductions of up to 15 percent of their eligible compensation, subject to plan limitations. The ESPP provides for <span style="-sec-ix-hidden:c60103265">six</span>-month offering periods with a single purchase period ending <em style="font: inherit;"> May </em><em style="font: inherit;">15</em> and <em style="font: inherit;"> November </em><em style="font: inherit;">15,</em> respectively. At the end of each offering period, employees are able to purchase shares at 85 percent of the lower of the fair market value of the Company’s common stock on the <em style="font: inherit;">first</em> trading day of the offering period or on the last trading day of the offering period.</p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Stock-Based Compensation Expense</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Stock-based compensation expense was $3.0 million for each of the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;">2019</em>, respectively.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Stock Options</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes stock option activity during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock Options</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Exercise Price</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2019</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">276,266</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">72.38</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Granted</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">33,192</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">96.72</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Exercised</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(2,001</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">67.53</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Forfeited</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(848</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">110.38</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Options outstanding at March 31, 2020</td> <td style="margin: 0px; padding: 0px 0px 3px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">306,609</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">74.94</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Exercisable at March 31, 2020</td> <td style="margin: 0px; padding: 0px 0px 3px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">187,326</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">62.48</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The outstanding options generally have a term of <em style="font: inherit;">ten</em> years. For employees, options granted become exercisable ratably over the vesting period, which is generally a period from <span style="-sec-ix-hidden:c60103275">four</span> to <span style="-sec-ix-hidden:c60103276">five</span> years, beginning on the <em style="font: inherit;">first</em> anniversary of the grant date, subject to the employee’s continuing service to the Company. For directors, options generally become exercisable in full on the <em style="font: inherit;">first</em> anniversary of the grant date.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The weighted-average grant date fair value of options that were granted during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> was $41.72.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table provides the assumptions used in the Black-Scholes pricing model valuation of options during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;">2019</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="3" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> </tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">1.47%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.58%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">42.40%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">42.74%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 90%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">As of <em style="font: inherit;"> March 31, 2020</em>, there was $4.5 million of unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted-average period of 2.9 years.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-size: 10pt; font-family: Times New Roman;"> <em style="font: inherit;"/> </div> </div> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Restricted Stock </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restricted stock awards are share-settled awards and restrictions lapse ratably over the vesting period, which is generally a period from <span style="-sec-ix-hidden:c60103286">four</span> to <span style="-sec-ix-hidden:c60103287">five</span> years, beginning on the <em style="font: inherit;">first</em> anniversary of the grant date, subject to the employee's continuing service to the Company. For directors, restrictions generally lapse in full on the <em style="font: inherit;">first</em> anniversary of the grant date. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes restricted stock activity during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Restricted</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2019</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">314,973</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89.55</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Granted</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">28,105</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">96.72</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restrictions lapsed</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(25,598</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">79.27</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Forfeited</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(7,616</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">90.47</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restricted stock at March 31, 2020</td> <td style="margin: 0px; padding: 0px 0px 3px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">309,864</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">91.03</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">As of <em style="font: inherit;"> March 31, 2020</em>, there was $21.0 million of unrecognized compensation expense related to non-vested restricted stock, which is expected to be recognized over a weighted-average period of 2.6 years. </p> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-size: 10pt; font-family: Times New Roman;"> <em style="font: inherit;"/> </div> </div> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Performance Stock </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Performance stock units (PSUs) are expressed in terms of a target number of PSUs, with anywhere between <span style="-sec-ix-hidden:c60103294">0</span> percent and 150 percent of that target number capable of being earned and vesting at the end of a <span style="-sec-ix-hidden:c60103296">three</span>-year performance period depending on the Company’s performance in the final year of the performance period and the award recipient’s continued employment. The Company’s PSUs granted from <em style="font: inherit;">2017</em> to <em style="font: inherit;">2019</em> are based on performance conditions and the related compensation cost is based on the probability that the performance conditions will be achieved. The Company’s PSUs granted in <em style="font: inherit;">2020</em> are based on market conditions and the related compensation cost is based on the fair value at grant date calculated using a Monte Carlo pricing model.</p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table summarizes performance stock activity during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Performance</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td> <td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td> <td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2019</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,383</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Granted</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19,956</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restrictions lapsed</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,113</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Performance change</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Forfeited</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(2,270</td> <td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at March 31, 2020</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">19,956</td> <td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td> <td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 7.2pt; text-align: left; text-indent: -9pt;">The following table provides the assumptions used in the Monte Carlo pricing model valuation of PSUs during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020:</em></p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <hr class="hr-custom" style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 6pt auto 0pt auto;"/> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="vertical-align: bottom;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>Three Months Ended March 31,</b></b></p> </td> </tr> <tr style="vertical-align: bottom;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">1.41%</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">2.88</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">38.70%</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr class="hr-custom" style="text-align: center;height: 1px; color: #000000; background-color: #000000; width: 95%; border: none; margin: 0pt auto 0pt auto;"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">As of <em style="font: inherit;"> March 31, 2020</em>, there was $2.3 million of unrecognized compensation expense related to non-vested performance stock, which is expected to be recognized over a weighted-average period of 2.9 years. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Employee Stock Purchase Plan</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The following table presents the assumptions used to estimate the fair value of the ESPP during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;">2019</em>: </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="3" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">1.59%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.33%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (months)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">42.63%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">37.36%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-size: 10pt; font-family: Times New Roman;"> <em style="font: inherit;"/> </div> </div> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> 0.15 0.85 3000000.0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock Options</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Exercise Price</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Options outstanding at December 31, 2019</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">276,266</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">72.38</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Granted</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">33,192</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">96.72</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Exercised</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(2,001</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">67.53</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Forfeited</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(848</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">110.38</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Options outstanding at March 31, 2020</td> <td style="margin: 0px; padding: 0px 0px 3px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">306,609</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">74.94</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Exercisable at March 31, 2020</td> <td style="margin: 0px; padding: 0px 0px 3px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">187,326</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">62.48</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> </tbody> </table> 276266 72.38 33192 96.72 2001 67.53 848 110.38 306609 74.94 187326 62.48 41.72 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 5%; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="3" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 17%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> </tr> <tr class="finHeading" style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">1.47%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.58%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 15%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.25</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">42.40%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">42.74%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 66%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> </tr> </tbody> </table> 0.0147 0.0258 P6Y3M P6Y3M 0.4240 0.4274 0 0 4500000 P2Y10M24D <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Restricted</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Restricted stock at December 31, 2019</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">314,973</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89.55</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Granted</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">28,105</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">96.72</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restrictions lapsed</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">(25,598</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">79.27</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; width: 68%; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Forfeited</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(7,616</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">)</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">90.47</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding: 0px; width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restricted stock at March 31, 2020</td> <td style="margin: 0px; padding: 0px 0px 3px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; width: 13%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">309,864</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">91.03</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> </tbody> </table> 314973 89.55 28105 96.72 25598 79.27 7616 90.47 309864 91.03 21000000.0 P2Y7M6D 1.50 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 95%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 2.5%; margin-left: 2.5%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Weighted-</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Average</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><em style="font: inherit;"> </em></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Grant Date</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Performance</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Fair Value</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Stock</em></b></p> </td> <td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">Per Share</em></b></p> </td> <td style="padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="width: 68%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at December 31, 2019</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,383</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Granted</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19,956</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Restrictions lapsed</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,113</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Performance change</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 9pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Forfeited</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">(2,270</td> <td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: thin; border-bottom-style: solid;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">58.35</td> <td style="width: 1%; padding-bottom: 1px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Performance stock at March 31, 2020</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">19,956</td> <td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">118.66</td> <td style="padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> </tbody> </table> 9383 58.35 19956 118.66 7113 58.35 0 0 2270 58.35 19956 118.66 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="vertical-align: bottom;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>Three Months Ended March 31,</b></b></p> </td> </tr> <tr style="vertical-align: bottom;"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><b>2020</b></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">1.41%</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (years)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">2.88</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">38.70%</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">0%</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"> </td> </tr> </tbody> </table> 0.0141 P2Y10M17D 0.3870 0 2300000 P2Y10M24D <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="3" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 15%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Risk-free interest rate</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">1.59%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">2.33%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected life (months)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">6.00</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected volatility</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">42.63%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">37.36%</p> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Expected dividend yield</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td> <td colspan="1" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 13%;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;">0%</p> </td> </tr> </tbody> </table> 0.0159 0.0233 P6Y P6Y 0.4263 0.3736 0 0 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <b>Note <em style="font: inherit;">9</em> – Accumulated Other Comprehensive Loss</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Other comprehensive income (loss) is comprised entirely of foreign currency translation adjustments. The following table presents the changes in accumulated other comprehensive income (loss) balances during the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;">2019</em>:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation adjustments</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Balance at beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,018</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,492</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other comprehensive income (loss) before reclassifications</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,980</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">476</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amounts reclassified from accumulated other comprehensive loss</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net current-period other comprehensive income (loss)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,980</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">476</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance at end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(9,998</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(8,016</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Foreign currency translation adjustments</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Balance at beginning of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(7,018</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,492</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Other comprehensive income (loss) before reclassifications</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,980</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">476</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;">Amounts reclassified from accumulated other comprehensive loss</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Net current-period other comprehensive income (loss)</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,980</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">476</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance at end of period</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(9,998</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(8,016</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td> </tr> </tbody> </table> -7018000 -8492000 -2980000 476000 0 0 -2980000 476000 -9998000 -8016000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">10</em> – Income Taxes</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;">2019</em>, the Company recorded an income tax provision of $3.9 million and $4.2 million, respectively. The income tax provision is based on the estimated annual effective tax rate for the year applied to pre-tax income. The effective income tax rate for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> was 21.8 percent compared to 21.1 percent in the same period of the prior year. The effective tax rate increased by 0.7 percent for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> when compared to the same period in <em style="font: inherit;">2019</em> primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options and an increase in the state tax provision.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The effective income tax rate for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> differs from the U.S. federal statutory rate of 21.0 percent due to various factors, including operating in multiple state and foreign jurisdictions and tax credits for which the Company qualifies.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company had unrecognized tax benefits totaling $4.6 million as of each of <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;"> December 31, 2019</em>, respectively, all of which, if recognized, would affect the Company’s effective tax rate. The Company recognizes interest and penalties related to income tax matters in income tax expense, and reports the liability in current or long-term income taxes payable as appropriate.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> 3900000 4200000 0.218 0.211 0.007 0.210 4600000 <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Note <em style="font: inherit;">11</em> – Segment Reporting</b></p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">The Company’s reportable segments are based on the internal reporting used by the Company’s Chief Executive Officer, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that the Company does <em style="font: inherit;">not</em> allocate directly to its operating segments.</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are <em style="font: inherit;">not</em> allocated to business segments. </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Revenue and income from operations by reportable segment for the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;">2019</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 3pt 0px; border: currentColor; border-image: none; width: 100%; height: 1px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">United States</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90,076</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87,811</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Europe</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,787</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,254</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Japan</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,245</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,387</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total revenue</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">115,108</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">113,452</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <hr style="margin: 3pt 0px; border: currentColor; border-image: none; width: 100%; height: 1px; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Income from Operations:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">United States</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,089</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,310</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Europe</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,364</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,221</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Corporate Unallocated and Japan</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,628</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(11,083</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Income from Operations</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,825</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,448</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> <p style="margin: 0pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 95%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Total long-lived assets at <em style="font: inherit;"> March 31, 2020</em> and <em style="font: inherit;"> December 31, 2019</em> were as follows:</p> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">March 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 62%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Total long-lived assets:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">United States</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">215,691</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">210,171</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Europe</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">43,984</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45,019</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Japan</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 16%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">8,326</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 16%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">8,522</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">268,001</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">263,712</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <hr style="margin: 0px auto; border: currentColor; border-image: none; width: 80%; height: 1px; text-align: center; color: rgb(0, 0, 0); background-color: rgb(0, 0, 0);"/> <p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </p> <div class="PGBK" style="width: 100%; margin-right: 0pt; margin-left: 0pt;"> <div class="PGNUM" style="width: 100%; text-align: center; font-family: Times New Roman; font-size: 10pt;"> <em style="font: inherit;"/></div></div><p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"/> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Revenue:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">United States</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90,076</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87,811</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Europe</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,787</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,254</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Japan</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,245</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,387</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total revenue</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">115,108</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">113,452</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 90076000 87811000 20787000 21254000 4245000 4387000 115108000 113452000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 2.5%; margin-left: 2.5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;"><em style="font: inherit;">Three Months Ended March 31,</em></em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Income from Operations:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">United States</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">25,089</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26,310</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Europe</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,364</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,221</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Corporate Unallocated and Japan</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(12,628</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(11,083</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 27pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Income from Operations</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,825</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,448</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0); margin-left: 0pt;"> </td> </tr> </tbody> </table> 25089000 26310000 4364000 4221000 -12628000 -11083000 16825000 19448000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 80%; text-indent: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-right: 10%; margin-left: 10%;"> <tbody> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">March 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">December 31,</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="width: 62%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">(in thousands)</p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2020</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> <p style="margin: 0pt; text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><em style="font: inherit;">2019</em></b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;"><b>Total long-lived assets:</b></p> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">United States</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">215,691</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">$</td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">210,171</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Europe</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">43,984</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; padding: 0px; width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">45,019</td> <td style="margin: 0px; padding: 0px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> </tr> <tr style="background-color: rgb(255, 255, 255); vertical-align: bottom"> <td style="margin: 0px; padding-left: 27pt; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">Japan</td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 16%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">8,326</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; padding: 0px 0px 1px; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> <td style="margin: 0px; width: 16%; text-align: right; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;">8,522</td> <td style="margin: 0px; width: 1%; padding-top: 0px; padding-right: 0px; padding-left: 0px; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 1px; border-bottom-style: solid;"> </td> </tr> <tr style="background-color: rgb(204, 238, 255); vertical-align: bottom"> <td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 27pt;">Total Assets</p> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">268,001</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">$</td> <td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;">263,712</td> <td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom-color: rgb(0, 0, 0); border-bottom-width: 3px; border-bottom-style: double;"> </td> </tr> </tbody> </table> 215691000 210171000 43984000 45019000 8326000 8522000 268001000 263712000 XML 22 R27.htm IDEA: XBRL DOCUMENT v3.20.1
Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Net income $ 13,984 $ 15,511
Basic - weighted-average shares outstanding: (in shares) 26,776,806 26,963,366
Employee stock options and other (in shares) 152,834 213,673
Diluted - weighted-average shares outstanding: (in shares) 26,929,640 27,177,039
Basic (in dollars per share) $ 0.52 $ 0.58
Diluted (in dollars per share) $ 0.52 $ 0.57
XML 23 R23.htm IDEA: XBRL DOCUMENT v3.20.1
Note 7 - Inventory (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Schedule of Inventory, Current [Table Text Block]
   

March 31,

   

December 31,

 

(in thousands)

 

2020

   

2019

 
Raw materials   $ 10,237     $ 9,818  
Work in process     499       501  

Total inventory

    10,736       10,319  
Allowance for obsolescence     (229 )     (244 )

Inventory, net of allowance

  $ 10,507     $ 10,075  
XML 24 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 25 R42.htm IDEA: XBRL DOCUMENT v3.20.1
Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Balance $ 585,790 $ 541,497
Balance 587,740 542,795
Accumulated Foreign Currency Adjustment Attributable to Parent [Member]    
Balance (7,018) (8,492)
Other comprehensive income (loss) before reclassifications (2,980) 476
Amounts reclassified from accumulated other comprehensive loss 0 0
Net current-period other comprehensive income (loss) (2,980) 476
Balance $ (9,998) $ (8,016)
XML 26 R46.htm IDEA: XBRL DOCUMENT v3.20.1
Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Long-lived assets $ 268,001 $ 263,712
Operating Segments [Member]    
Long-lived assets 268,001 263,712
Operating Segments [Member] | United States Segment [Member]    
Long-lived assets 215,691 210,171
Operating Segments [Member] | Europe Segment [Member]    
Long-lived assets 43,984 45,019
Operating Segments [Member] | Japan Segment [Member]    
Long-lived assets $ 8,326 $ 8,522
XML 27 R7.htm IDEA: XBRL DOCUMENT v3.20.1
Note 1 - Basis of Presentation
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]

Note 1 – Basis of Presentation

 

The unaudited interim Consolidated Financial Statements of Proto Labs, Inc. (Protolabs, the Company, we, us or our) have been prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) for interim financial information and with the instructions to Form 10-Q and Article 10 of Regulation S-X. In the opinion of management, the accompanying financial statements reflect all adjustments necessary for a fair presentation of the Company’s statements of financial position, results of operations and cash flows for the periods presented. Except as otherwise disclosed herein, these adjustments consist of normal, recurring items. Operating results for interim periods are not necessarily indicative of results that may be expected for the fiscal year as a whole.

 

The preparation of the financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues, expenses, and the related disclosures at the date of the financial statements and during the reporting period. Actual results could materially differ from these estimates. For further information, refer to the audited Consolidated Financial Statements and Notes thereto included in the Company’s Annual Report on Form 10-K for the year ended  December 31, 2019 as filed with the Securities and Exchange Commission (SEC) on February 26, 2020.

 

The accompanying Consolidated Balance Sheet as of December 31, 2019 was derived from the audited Consolidated Financial Statements but does not include all disclosures required by U.S. GAAP for a full set of financial statements. This Form 10-Q should be read in conjunction with the Company’s Consolidated Financial Statements and Notes included in the Annual Report on Form 10-K filed on February 26, 2020 as referenced above.

XML 28 R3.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Allowance for doubtful accounts $ 1,821 $ 952
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, shares authorized (in shares) 10,000,000 10,000,000
Preferred stock, shares issued (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 150,000,000 150,000,000
Common stock, shares issued (in shares) 26,648,524 26,786,459
Common stock, shares outstanding (in shares) 26,648,524 26,786,459
XML 29 R32.htm IDEA: XBRL DOCUMENT v3.20.1
Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Amortized Cost $ 75,271 $ 48,397
Unrealized Gains 167 112
Unrealized Losses (255) (22)
Fair Value 75,183 48,487
Bank Time Deposits [Member]    
Amortized Cost 3,697 1,484
Unrealized Gains 31 22
Unrealized Losses (2) 0
Fair Value 3,726 1,506
US States and Political Subdivisions Debt Securities [Member]    
Amortized Cost 12,704 10,204
Unrealized Gains 19 9
Unrealized Losses (14) (3)
Fair Value 12,709 10,210
Corporate Debt Securities [Member]    
Amortized Cost 35,100 26,944
Unrealized Gains 45 80
Unrealized Losses (239) (12)
Fair Value 34,906 27,012
US Government Agencies Debt Securities [Member]    
Amortized Cost 20,801 6,274
Unrealized Gains 61 1
Unrealized Losses 0 (7)
Fair Value 20,862 6,268
Commercial Paper, Not Included with Cash and Cash Equivalents [Member]    
Amortized Cost 2,969 3,491
Unrealized Gains 11 0
Unrealized Losses 0 0
Fair Value $ 2,980 $ 3,491
XML 30 R36.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation - Stock Option Activity (Details)
3 Months Ended
Mar. 31, 2020
$ / shares
shares
Options outstanding (in shares) | shares 276,266
Options outstanding, weighted-average exercise price (in dollars per share) | $ / shares $ 72.38
Granted (in shares) | shares 33,192
Granted, weighted-average exercise price (in dollars per share) | $ / shares $ 96.72
Exercised (in shares) | shares (2,001)
Exercised, weighted-average exercise price (in dollars per share) | $ / shares $ 67.53
Forfeited (in shares) | shares (848)
Forfeited, weighted-average exercise price (in dollars per share) | $ / shares $ 110.38
Options outstanding (in shares) | shares 306,609
Options outstanding, weighted-average exercise price (in dollars per share) | $ / shares $ 74.94
Options exercisable (in shares) | shares 187,326
Options exercisable, weighted-average exercise price (in dollars per share) | $ / shares $ 62.48
XML 31 R19.htm IDEA: XBRL DOCUMENT v3.20.1
Note 3 - Net Income Per Common Share (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
   

Three Months Ended

 
   

March 31,

 

(in thousands, except share and per share amounts)

 

2020

   

2019

 

Net income

  $ 13,984     $ 15,511  
                 

Basic - weighted-average shares outstanding:

    26,776,806       26,963,366  

Effect of dilutive securities:

               

Employee stock options and other

    152,834       213,673  

Diluted - weighted-average shares outstanding:

    26,929,640       27,177,039  

Net income per share:

               

Basic

  $ 0.52     $ 0.58  

Diluted

  $ 0.52     $ 0.57  
XML 32 R15.htm IDEA: XBRL DOCUMENT v3.20.1
Note 9 - Accumulated Other Comprehensive Loss
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Disclosure of Reclassification Amount [Text Block]

 Note 9 – Accumulated Other Comprehensive Loss

 

Other comprehensive income (loss) is comprised entirely of foreign currency translation adjustments. The following table presents the changes in accumulated other comprehensive income (loss) balances during the three months ended March 31, 2020 and 2019:

 


 

   

Three Months Ended

 
   

March 31,

 

(in thousands)

 

2020

   

2019

 

Foreign currency translation adjustments

               

Balance at beginning of period

  $ (7,018 )   $ (8,492 )

Other comprehensive income (loss) before reclassifications

    (2,980 )     476  

Amounts reclassified from accumulated other comprehensive loss

    -       -  

Net current-period other comprehensive income (loss)

    (2,980 )     476  

Balance at end of period

  $ (9,998 )   $ (8,016 )

 


XML 33 R11.htm IDEA: XBRL DOCUMENT v3.20.1
Note 5 - Fair Value Measurements
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

Note 5 – Fair Value Measurements

 

Accounting Standards Codification (ASC 820), Fair Value Measurement (ASC 820), defines fair value as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date. ASC 820 also establishes a fair value hierarchy that requires classification based on observable and unobservable inputs when measuring fair value. There are three levels of inputs that may be used to measure fair value:

 

Level 1—Quoted prices in active markets for identical assets or liabilities.

 

Level 2—Observable inputs other than Level 1 prices such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.

 

Level 3—Unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.

 

The Company’s cash consists of bank deposits. The Company’s cash equivalents measured at fair value consist of money market mutual funds. The Company determines the fair value of these investments using Level 1 inputs.

 

The following table summarizes financial assets as of  March 31, 2020 and December 31, 2019 measured at fair value on a recurring basis: 

 


 

   

March 31, 2020

   

December 31, 2019

 

(in thousands)

 

Level 1

   

Level 2

   

Level 3

   

Level 1

   

Level 2

   

Level 3

 

Financial Assets:

                                               

Cash and cash equivalents

                                               
Money market mutual fund   $ 31,291     $ -     $ -     $ 68,962     $ -     $ -  

Total

  $ 31,291     $ -     $ -     $ 68,962     $ -     $ -  

 


EXCEL 34 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( *2"I5 ?(\\#P !," + 7W)E;',O+G)E;'.MDD^+ MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F' M.>RGGD7E2B.5^S3%":4A+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ I(*E4"?HAPZ" L0 ! !D;V-0&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(? MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/ M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+"" MWTG] E!+ P04 " "D@J50T&?;;>X K @ $0 &1O8U!R;W!S+V-O M&ULS9+!2@,Q$(9?17+?G>P6*X1M+A5/"H(%Q5M(IFUPDPW)R&[?WFQL MMX@^@)!+9OY\\PVDTT'H(>)S' )&LIAN)M?[)'38L"-1$ !)']&I5.>$S\W] M$)VB?(T'"$I_J -"R_D:')(RBA3,P"HL1"8[HX6.J&B(9[S1"SY\QK[ C ;L MT:&G!$W= )/SQ'":^@ZN@!E&&%WZ+J!9B*7Z)[9T@)V34[)+:AS'>ER57-ZA M@;>GQY>R;F5](N4UYE?)"CH%W+#+Y-?5]G[WP&3+6U[QVWQVS5JT7/"[]]GU MA]]5V W&[NT_-KX(R@Y^_0OY!5!+ P04 " "D@J50F5R<(Q & "<)P M$P 'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03 M621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS M[BYBZ(:(E/)X8-DOV]:[MR_>X%#BVR]*+41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C( MWXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU M+,76>)7 \:V@S&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=* MY \FIS_I,C0'HYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_ MT=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=R MSTS0LS0[=R M2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZ MG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCR MHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)2 M56 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYE ML<%5'<]56_*POFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7G MFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5 M' 86%S+D4.Z2D 83 >LX=SFWJXPD6L_UC6'ODR MWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\ MU*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHS MU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\! M4$L#!!0 ( *2"I5!&PO=V]R:W-H965T&UL?5?MCILP$'P5Q ,4O(9\G))(=ZFJ5FJETU5M?W.)DZ #G(*3 M7-^^QN&XU#ONGX#-S([-,NOLXJ+;E^Z@E(E>ZZKIEO'!F.-=DG2;@ZJ+[H,^ MJL8^V>FV+HP=MOND.[:JV#I27264II.D+LHF7BWW>;N9YZ)3:UW]*K?FL(QG<;15N^)4F2=]^:R&#>5Q-.S^ MJSJKRL+[E5B-C:XZ]QMM3IW1]1#%+J4N7J_7LG'7R_5)E@TT3*"!0.\$\5^" M' AR) BGD%Q7YK;ZL3#%:M'J2]1>LW4L^H]"W$G[,C?]I'MW[IG=;6=GSZMT MD9S[, /BX8J@&X08$8F-/0H0$G@@1J=_!=8<(;& A#N0CBYOZ!FF9Y">.7IV M0\^]%\ 1$RR00X&> $?,L, $"DP8?>X)<(1(L<(4*DPY7W@2 $)88@8E M9IPO/0D "61Z#B7FG.^G&D "N18IME/*(_CI1IA PD7 M()'\',.,!1(NH#. MO1?$(_AI1YA W@6VKY \@I]Y@ E]P *[7' 34^:K $P>4,%6%]S)-/%5 &8: M4,%^%]S.-/-5 &8>4,&>%]S1DAT- !,X' 2VO>"FEN2K $S@A!#8^8+[6K+L M)^[KC&4?8$+9Q]XG M[NN,91]@0BK8^\1]G?L5!F%"?S^Q]XG[.O)O2^YKW/_&P.8H KV MON2^SOTZ!C!!%>Q]R7V=>U_R>L#D#M,,)]U$T)1E)[GI1&K5[EW3UD4;?6I< MQW@S.S:&]ZXO3-[AUZ[R6]'NRZ:+GK6Q_9#K6G9:&V47E'ZP2SG81G8<5&IG M^MNIO6^OW=QU8/1QZ%23L5U>_0502P,$% @ I(*E4"!YLF%'! A!0 M !@ !X;"]W;W)K5,=3]EZ.;U[[-;+]G6HCZ?PV"WZUZ:ING\WH6XOJPRR]Q=?CR^'87R1 MKY?GZB7\$88_SX]=?,IOK>R.33CUQ_:TZ,)^E?T(#UM=C &3XJ]CN/1W]XMQ M*$]M^VU\^'6WRM3H*-3A>1B;J.+E+6Q#78\M11__S(UFMS['P/O[]]9_G@8? M!_-4]6';UG\?=\-AE?ELL0O[ZK4>OK:77\(\(),MYM'_%MY"'>6CD]C'%MWU:YVK<5' @XZ3^3R^G.9N^BV.MH]OW];&+O.WL9U9LKE*\$Z" M'Q5;KC#N)LEC_S<3*)K *5[?QWLY7HOQ>HHO[N-+,HBKQ$Z2TR0IH52&#(2K M VBD#.O%HBJ):LM5 MQA5&R5ZLZ,5R+V0=;2SK!911CGB15,HEOI$3O3CN11,OCO52.D>M<)%'C;(3 M+SKQW E9!QO/.D' PM'E(LBT+:"4W92BFY*[(2FR*7DWUBM%%XPDTPX2QHSP& BO)C$J5)B C%3A3'64J<%K& MU#/,CR"+F9,JM62F(F>JHTQ%SDJ-AFXXDDH7B8Q F:?(>4K!M$$.R@*8&8&F M&A-+&1-E*(>IHS!%3LG"84EA*LJ,AX0?&:;(8>HH3)%3TGD*E:V@\L8F4(HR M2I&CU%.4(H=DW$+87BS)+'J=\"/#%#E,/84I"G6KT32O)%51)-(<99 B+V\] M+6^15ZZETBS-!9F/WS25YC*6T3&P)^=7!BERD'H*4N2$9*/Y3/+1APQ0Y #U M%* HE)LL)3_5?/PO4T:GYNCT%)V:0S'6QX95Z[).F43YIV5\:HY/3_&I.1DU MEJ#I_(BZR+8$0[7,4,T9ZBE#-8?C#V59T@)0DCD%J9.!Q-$ 9ZAG9P.=]=SL>O#T)[G,[_\=O"X_@]0 M2P,$% @ I(*E4"LK1Z(T @ = < !@ !X;"]W;W)K[? M#] :!7)O^Z$"/N>>MQ1W;N37G_18 =JI1"]F&]*@3=RZ$ MMI"+*;T"UE,$SRJHQ2#PO 2TL.G8##O7 M=Q\++\VUYG(!E$4/K^@GXK_Z Q4S,&<[EQ2!B['C^Q?5.^B MER-DJ"+X3W/F]<[-7.>,+O"&^0L9OJ*IG]AUIN:_HSO" IJ7NB6R96[V7N%^ N\TS(?D2"!1*LBD2:2XC$B\WQ1M_FLX3X,HHMAK%IE&L&<5&(5WE/6+ED%@=$M,A MT1R2IY[01]3*);6ZI*9+JKFDYL;']D?T#+ERRJQ.F>F4:4Z942E(DBB+ ^WU MJFQ@FB51G-N-8+1A4J2?G]63=E_T!?5VG^.NFM*8X?= M*>DOG2H/HU%3)\A8EC1EU<:;U3CWTFU6^FKJJE4O7=1?FZ;L_MNJ6M_6,<3O M$Y^KT]D,$\EF=2E/ZA]E_KV\=':4W+T5C';&"D:K4W@XO2/M[43M7UX,GR^#X[C>\Q!\/E^[OW M3V/R-IG7LE<[77^M#N:\CF4<'=2QO-;FL[[]H>:$1!S-V?^EWE1MX0,3&V.O MZW[\C?;7WNAF]F*I-.6/Z5FUX_,V^W\WHPUP-L"[@8W]*P,^&_"?!N-J)A.S M,=6/I2DWJT[?HF[:K4LY' IXXG8Q]\/DN';C?S;;WLZ^;8"Q5?(V.)HQVPF# M2\P=D5CO]Q!(A=BB9XZ/ 78^ E@@!">SX*,#_N :0B@ =0=(1!)W4H3-AQ"*.R)G'AD"EH@B0R4@R&4%&.&0R M/XST#M*.0LF,T61RDDQ.['1&.Y"D TEDDSO92(\G2)!N-A1*Y#E-IB#)% 09 M9P>WA1=&%M)AO"- ##A-!1BM!(P@4[A2P/RD4_\;H& H,7#L("!-X!,"3YO MBY0"YL(EY,-X88$!0J20/0,2A, EA'[JF42/$ $KTE0&"-&R!YP@A"XA[D=B M(G7Y^"@,'B!:0X$047!%= 8]L,EE7KAT"%B198%+ 6@5!4)&P951\!62R\+; M+A^5@@@H%] Z"H20@BND,^CA^N"%]+:+@ D!H?6AM10(,86 F *MID#(*;AR M.H/D@BS[(-PB@$:%/@A:3X$05' %=0;]C@Z)"J@[TI**C%C@(N""%D$D1!!= M$41?W3#+\TPNKL:YTJ*01<9Y%MAWI*40"2E$5PK1US@;#(LL=:]2"IE#GC,> M6BU:$)$H!$.W#M(JAH2*H:MB2!5YS"W1=A1,+"_OB5"R*-8;U9W&OJ:/]OK: MFJ$L7LS>>Z=G'(I]9WYK>ZJI _KI9FK(_BZ[4]7VT:LVMI48"_ZCUD99EO94 MQ]'9]H#W0:V.9GC-[7LW-4+3P.C+W.0E]TYS\S]02P,$% @ I(*E4&9& M9>_8!0 VR, !@ !X;"]W;W)K\^%9NK:TFWP_[8_DPW5;5Z7XV*Y^W]I"57_*3/=;_>R0[8[3Q;R]]U@LYOE[M=\=[6,Q*=\/AZSX;VGW M^?EA*J:?-[[NWK95QJY65WL,=REQ\GA7U]F/XB M[E-MF@:MXN^=/9U#Z>\WW9_IT\OY=5?NBLU%TY9-\OG[MC^WGN['\VPPUD MUT!>&T@YV$!U#=2U@0H'&^BN@?[A(1IL8+H&YH>'X09AUR"\-A"7\;@DJ\W^ M.JNRQ;S(SY/B,H%.63-/Q7U8C^]S<[,=SO9_]0"4]=V/A9!Z/OMH#'6:Y44C M'8UQ-2ND"5W-&FDB5[-!FMC5I$B37#6S.MYKT!(&+5L#^M: "DC0%XUI-<=6 M(\,DUI&.L"<%/2G@21!/%TUXZXED904D)C:!) D&LD3HD(2VX;*[6"?$6,I5 M1@N=](2O8?@:A$_\+#5+M$@2$V W!KHQP(TB;@P+AZ1E95A'[K0DHC47T>QZ M%:G'D1-P" ,.0@$/6#Q5H&C 7T8"]BM3CR DX@@%'(&#R"%I&/*W" M1)$(L:,8.HJ!(_(<6\;>S,:H*X(L_#5410EYW&VXC.87&8I4T/-,3&#@"0]< MT PGOIZLO(HU5PC#4K/QVDE]=IR018#A%[1&E#/:/0\XT<-/ 28,&<%E)QJ: M,9UD*'-^R09(=$2F;^H1N5%C@ I 4*FH'XY089*X+[\8H (1E+*Z$XV'M<"X M$HA7%->=:)#7@D,- AOI$+&!#B$;R(:8+3!-A?F)58'Y)!"@*/@%Q\( ^04& M@T!DH.SO1(/K#]"#TQ^HV%!Y):G/EQLWYI1 H&*%NY]4@K,#% % Q>+V8\KG MRXT;8TH 3K%*0' X#)8"$N-!!B.*@4XTE.-.XBL'L(S7 T!',PU-]5<$$K-- M K:QFD#ZV2;]; ,25!;X+:5>2V[D/1M$M$-,:.1HBQCK&CQ]SC#B)$ <78%+ M.6*7* $&31+RB09TB:CG!\TVU]W%@:#U!.B:T3)*3$\6,'LE8*^F[)6 EV$4 MA]HDM%,CE&ZW, PEV%MJ2C+)-Y=\WX&NB4U)&4='# +C(*!#TK M 5VK"Y$HZ7GJ2LQS.8;GDO-<*B/[I@'FN1S#<^GGN02,35C]!524:WY)ZO/E MQHUY+L?P7/IY+A%C:0+70,7B]O/*[\ M/%>(KB%]+JZ1+#$A6? ;(*.)A@Z%B'N6EL(X5V-PKKR$7?DE:R"I^1EK&KH? MYUY+;N08YTJ.W]&HGH-5;(#D3B8Q2YY/YD:.P:P MF-E>7_%-L1!!T#=,F+4*L9:=EB..PA)@C-+M%H:? O!C)8#BQZW\%!\ $I4 M0 =+ *!#)0#HVE )H#"85?03:P@S3B'&L41RJ Q4$0I312&JT"JB$PVN5@ > M7D4 %5NP_@--GR_WYQ9,.(T(1ZL([2>*1OO.4,>&_JJ>CE&ZW<+4U(B:;,V/ MV*$B35B#0M-AX3HEDUL8=./"=7=)0H^S4B S<12Q<\'9S2L-S6LO?V3%V^Y8 M3I[RJLH/[3L,KWE>V=IF\*6VN;79R_5B;U^KYFM4?R\NKYM<+JK\U+U*,[N^ MS[/X'U!+ P04 " "D@J50.@3U6"X$ !J$P & 'AL+W=OVW6R_J] M*\\7^]HLVO>J*II_-[:L;ZM(1I\%7\_'4]<7Q.OEM3C:/VSWY_6U<4_Q/ZXOB\8>5M&+?-XJU5<8%'^=[:V=W2_Z5-[J^EO_\.M^%8G>D2WMKNM# M%.[R8;>V+/M(SL<_4]#HWF9?<7[_&?WG(7F7S%O1VFU=_GW>=Z=5E$6+O3T4 M[V7WM;[]8J>$=+28LO_-?MC2R7LGKHU=7;;#[V+WWG9U-45Q5JKB^W@]7X;K M;8K_60U7H*D"W2NXMO^O@IHJJ!\5DB'YT=F0ZD]%5ZR737U;-./;NA;]H)#/ MRG7FKB\<^F[XSV7;NM*/M4ST,O[H TV:S:BAN>:NB%WT>Q.$FMB05YT>&]CZ M"BD"32B8A1H"J(4H3/NR!BE3(30!%TA_WF@(A(&I>)(&$%$^(_(2T\"8RDI'*0CEA M,$D%#/'Q/XD>#2G#_?@J$YJ+$E-. LSQ4;691 ]N)"6"VP$R"G%.8M!)#?RD MW(_V&\H2R>WX*N7V,@$[&)O2YZ;Q!H^/1#E_#9,;7_64"1UP@\DI?70:[UWY M5-0YQP00/65Y&II9&)X2T%,;;L)#(A,Q@"!+8/Z9\A2 ."GX MCG>+9#H/^<$8)(!!Y?GQ^?8DI<5@JI2Q"UB5[]?NOXL8%9Z/S!ZH?Z$@Y5OY/-V//;Y$68\A?J]:([G M2[MXJ[NNKH93CD-==]:Y%%]&PO=V]R:W-H965T M&UL;5/;;MLP#/T501]0)8K;#H%MH.DPM, &!!VV/2LV?4$E MT97DN/O[2;+CNIE?+)+F.3RDJ'1 \VH; $?>E=0VHXUSW9XQ6S2@A+W!#K3_ M4Z%1PGG7U,QV!D0904HROMG<,25:3?,TQHXF3[%WLM5P-,3V2@GS]P 2AXQN MZ27PTM:-"P&6IYVHX2>X7]W1>(_-+&6K0-L6-3%09?1ANS\D(3\F_&YAL N; MA$Y.B*_!>2XSN@F"0$+A H/PQQD>0"PQ-,_=Q2,C7_'K8[G,/%?8.L /@'X%8"-A:+RK\*)/#4X$#/.OA/ABK=[[F=3A& <1?SG MQ5L?/>?;>YZRR4?ZN.T_A*E; M;(Y/*2H;##VQ;4 GKPJJ5U.6^^[(V.N;$%Q=V,ZT'A3&ZNX1],V MS'46>!5!2K)DL[ECB@M-BRSZSK;(3.^ET'"VQ/5*S:%H? M'*S(.M[ #_ _N[-%B\TLE5"@G3":6*AS>K\]GM(0'P-^"1C^E?S;#%YCJN:5D*OX;7$%B>%"".4HC75Q)V3MOU,2"4A1_'7>AXSZ, M-^GM!%L')!,@F0&'F(>-B:+R1^YYD5DS$#OVON/AB;?'!'M3!F=L1;Q#\0Z] MUV*[O\O8-1!-,:<4R5J*4_(?/%F'[U85[B)\]T'A;IT@725( M(T'Z@6#_J<2UF,.G)&S14P6VB=/D2&EZ'2=YX9T']CZ);_(>/D[[=VX;H1VY M&(\O&_M?&^,!I6QN<(1:_&"S(:'VX;C'LQW';#2\Z:8?Q.9O7/P#4$L#!!0 M ( *2"I5!?P?0 M@$ -(# 8 >&PO=V]R:W-H965T&UL;5-ACYP@$/TKA!]PN+KM;C=J:EGGT74R9X^"DT' QQ Y*!(QV=2:ADBOB0,A!Y&;]F3KJD#,#U^97]4ZS=UW+E%AY0_A2UZPIZI*2& MA@_2/>+X&>9ZWE$R%_\5;B!]>%#BDZ9HE@GGU)D6ZE.*?_P=-M>+:I,(OP[!^%V3;!?I-@'PGV M:X)C\J;$K9BW1;)53Q68-DZ3)14..D[RRKL,['T:W^1O^#3MW[AIA;;DBLZ_ M;.Q_@^C 2TGN_ AU_H,MAH3&A>/!G\TT9I/AL)]_$%N^&PO=V]R:W-H965T$T:[.)%1R17P.QI57PJ6KQ,N^SB/DXWA\-, MVR;PF< 7PC'&85.@F/E'X421&1R)F7K?B_#$^Q/WO2F#,[8BWOGDK??>BOV1 M9^P6A&;,><+P-69!,*^^A.!;(<[\/SK?IB>;&2:1GJRCWR?; NFF0!H%TG]* M3-Z5N(5)WP5AJYYJ,$V<)DM*'+HXR2OO,K //+[)&WR:]F_"-+*SY(K.OVSL M?XWHP*>RN_,CU/H/MA@*:A>.]_YLIC&;#(?]_(/8\HV+OU!+ P04 " "D M@J503<:8^KM.C-FR!<7M'7:@_4V-1G'G3=,PVQG@520I MR9+-9L\4%YH66?1=3)%A[Z30<#'$]DIQ\_L,$H><;NF[XT4TK0L.5F0=;^ ; MN._=Q7B+S2J54*"M0$T,U#E]V)[.NX"/@!\"!KLXDU#)%?$U&)^KG&Y"0B"A M=$&!^^T&CR!E$/)I_)HTZ1PR$)?G=_7G6+NOY$33/7<4S(5_P5N(#T\9.)CE"AM7$G96X=J4O&I*/XV[D+'?1AOTOU$6R.>3M]Y[*[;'^XS= M@M"$.8^89(F9$-T)9&PO=V]R:W-H965TI%"VP)US_8$06W4@F;W2/2A_TV@CF?.F:8GM#; ZDJ0@ M-$ENB&182E.5:(0--@>_3PW$7\!'PA\-H5V<4*CEK_12,[W6!DY 0"*A< M4&!^N\ #"!&$?!K/LR9>0@;B^ORN_C76[FLY,PL/6OSEM>L*O,>HAH8-PCWJ M\1O,]5QC-!?_ RX@/#QDXF-46MBXHFJP3LM9Q:D1FZGW/PA.G!^I[4P5G;$6\\\E;[[V4Z7Z?DTL0 MFC''"4/7F 5!O/H2@FZ%.-)/=+I-SS8SS"(]6T>_S;8%=IL"NRBP^Z_$NP\E M;F#ND@]!R*JG$DP;I\FB2@\J3O+*NPSL/8UO\@\^3?M/9EJN+#IKYU\V]K_1 MVH%/);GR(]3Y#[88 AH7CK?^;*8QFPRG^_D'D>4;EV]02P,$% @ I(*E M4/_?4?.U 0 T@, !D !X;"]W;W)K&UL;5/; M;IPP$/T5RQ\0+X8VZ0J0LJFJ5FJE5:JFSUX8P(J-J6V6].\[-H32E!?;,S[G MS,7C?#+VV74 GKQHU;N"=MX/1\9:2%[6N;1=[9E;D:O9 ]G2]RHM;"_3Z#,5-"$OCH>9=OYX&!E/H@6OH/_ M,9PM6FQ5J:6&WDG3$PM-0>^3XRD+^ AXDC"YS9F$2B[&/ ?C2UW00T@(%%0^ M* C#!J)^R]EU![RBIH1&C\H]F M^@Q+/>\H68K_"E=0" ^98(S**!=74HW.&[VH8"I:O,R[[.,^S3=IMM#V"7PA M\)5P%^.P.5#,_*/PHLRMF8B=>S^(\,3)D6-OJN",K8AWF+Q#[[5,/B0YNP:A M!7.:,7R+61$,U=<0?"_$B?]'Y_OT=#?#--+3;?3;=%\@VQ7(HD#V3XG\38E[ MF+=!V*:G&FP;I\F1RHQ]G.2-=QW8>Q[?Y"]\GO9OPK:R=^1B/+YL[']CC =, MY7"#(]3A!UL-!8T/QUL\VWG,9L.;8?E!;/W&Y1]02P,$% @ I(*E4 ]Z M;9&W 0 T@, !D !X;"]W;W)K&UL;5/;;IPP M$/T5RQ\0[[)LDJX *9NJ2J566J5J\NR% :SX0FRSI'_?L2&$IKS8GO$Y9RX> M9X.Q+ZX%\.1-2>URVGK?'1AS90N*NRO3@<:;VEC%/9JV8:ZSP*M(4I(EF\TU M4UQH6F31=[)%9GHOA8:3):Y7BML_1Y!FR.F6OCL>1=/ZX&!%UO$&?H'_W9TL M6FQ6J80"[831Q$*=T[OMX9@&? 0\"1CRFV7]*,78+0A#F. MF&2)F1$,U><0R5J(8_(?/5FG[U8SW$7Z;AG]9K7S;VOS;& Z:R MN<(1:O&#S8:$VH?C#9[M.&:CX4TW_2 V?^/B+U!+ P04 " "D@J50X;S' MS;;$]XW/.7#S. M!F-?70O@R9N2VN6T];X[,N;*%A1W-Z8#C3>UL8I[-&W#7&>!5Y&D)$LWFT], M<:%ID47?V1:9Z;T4&LZ6N%XI;G^?0)HAIPE]=SR+IO7!P8JLXPU\!_^C.UNT MV*Q2"07:":.)A3JG]\GQM OX"'@1,+C%F81*+L:\!N-+E=--2 @DE#XH<-RN M\ !2!B%,X]>D2>>0@;@\OZL_Q=JQE@MW\&#D3U'Y-J<'2BJH>2_]LQD^PU3/ M+253\5_A"A+A(1.,41KIXDK*WGFC)A5,1?&W<1=SP\<7),L3=E<,96Q#M,WJ'W6B1W^XQ=@]"$.8V8 M=(F9$0S5YQ#I6HA3^A\]7:=O5S/<1OIV&7V_71?8K0KLHL#NGQ(/'TI.T?^.V$=J1B_'XLK'_M3$>,)7- M#8Y0BQ]L-B34/ASW>+;CF(V&-]WT@]C\C8L_4$L#!!0 ( *2"I5"_<,;? MM@$ -(# 9 >&PO=V]R:W-H965TC ML<^N _#D54GM"MIYWQ\8R96X&+X6&DR5N4(K;OT>09BQH0M\A]ZH+L@""14/C!PW"[P M %(&(I3Q,G/2)64 KL]O[%]C[5C+F3MX,/))U+XKZ!TE-31\D/[1C-]@KN>: MDKGX'W !B>%!">:HC'1Q)=7@O%$S"TI1_'7:A8[[.-UDUS-L&Y#.@'0!W,4\ M;$H4E7_AGI>Y-2.Q4^]['IXX.:38FRHX8ROB'8IWZ+V4^* YNP2B.>8XQ:2K MF&2)8,B^I$BW4AS3_^#I-CS;5)A%>+;.?IMM$^PW"?:18/^AQ.13B5LQGU6R M54\5V#9.DR.5&72_@T[3^Y;85VY&P\OFSL?V.,!Y2RN\(1 MZO"#+8:$QH?C+9[M-&:3X4T__R"V?./R'U!+ P04 " "D@J50>U -2+8! M #2 P &0 'AL+W=ODAH:,4KWA--G6.JYI60I M_BM<07IXR,3'J%#:N))JM [5HN)34>)EWGL=]VF^R?A"VR?PAU,%9VQ%O//)6^^]ECQ)R?$K-W)>YA;M\%89N> M*C!MG"9+*AQUG.2-=QW8A_B([ T^3_LW8=I>6W)!YU\V]K]!=.!326[\"'7^ M@ZV&A,:%XYT_FWG,9L/AL/P@MG[C\B]02P,$% @ I(*E4., J&:W 0 MT@, !D !X;"]W;W)K&UL;5-A;]L@$/TKB!]0 M')*V661;:CI-G;1*4:=MGXE]ME'!YP*.VW\_P*[G=OX"W''OW;OC2 MO*C1:.&^:FMG.@"@C2"O&D^2&:2%;FJ?1 M=S)YBKU3LH63(;;76IBW(R@<,KJA[XXG63=J*&G^!^=2?C+3:SE%)# M:R6VQ$"5T;O-X;@+\3'@MX3!+LXD5')&? [&]S*C21 $"@H7&(3?+G /2@4B M+^-EXJ1SR@!$>U1]9NB:C>TI*J$2OW!,.#S#53[!U )\ ? ;L8QXV)HK* MOPHG\M3@0,S8^TZ$)]X>\EY27/D1:OP' MFPT%E0O'6W\VXYB-AL-N^D%L_L;Y7U!+ P04 " "D@J50)8FY [;0O@ MR(M6G!)PFA79Q(J.2,^!^-+E=,D" (%I0L,PF\7N >E I&7 M\6OFI$O* %R?7]D_Q=I]+6=AX1[53UFY-J>WE%10BT&Y1QP_PUS/-25S\5_A M LJ'!R4^1XG*QI64@W6H9Q8O18N7:9==W,?IYN;C#-L&\!G %\!MS,.F1%'Y M@W"BR R.Q$R][T5XXO3 ?6_*X(RMB'=>O/7>2\'3)&.70#3''*<8OHI)EPCF MV9<4?"O%D?\#Y]OPW:;"783OWBC\3_[])L$^$NS?$/!W)6[%[-XE8:N>:C!- MG"9+2ARZ.,DK[S*P=SR^R=_P:=J_"=/(SI(S.O^RL?\UH@,O);GR(]3Z#[88 M"FH7CA_\V4QC-AD.^_D'L>4;%W\ 4$L#!!0 ( *2"I5"U1*M)P0$ #<$ M 9 >&PO=V]R:W-H965TM; "]B?_5&[B"PL52= MFDY)I*'.\4.R/Z0>'P"_.AC-:H]\)R>E7GWPKN]Q?VKZ%WU\N)&7A4_'=7V3;']QA54+.!VVNK,I?3(<1?CFS!N7/1I>*#AXO_"IY'ZP73328-.RKKG$RZY5LJ" ML[*Y<5Y:-\5+P*&V?GOG]GIZRU-@53^/*5G^*XH/4$L#!!0 ( *2"I5"" M_. [M@$ -(# 9 >&PO=V]R:W-H965TIVF3-NG4:=MG+G$25(@S()?NWP](FF5M^@6P\7M^ M-B8;T3S:%L"1)ZTZF]/6N?[(F"U;T,+>8 ^=OZG1:.&\:1IF>P.BBB"M&$^2 M ]-"=K3(HN]LB@P'IV0'9T/LH+4P?TZ@<,QI2I\=#[)I77"P(NM% ]_!_>C/ MQEML8:FDALY*[(B!.J=WZ?&T#_$QX*>$T:[.)%1R07P,QIE/@<)2H;5U(.UJ&>6;P4+9ZF779Q'Z>;PV&&;0/X#. + MX#;F85.BJ/RC<*+(#([$3+WO17CB],A];\K@C*V(=UZ\]=YKP=,/&;L&HCGF M-,7P54RZ1##/OJ3@6RE._!6<;\-WFPIW$;[[3^$;^?>;!/M(L%\3\.1%B5LQ M+Y.P54\UF"9.DR4E#EV2 MW/@1:OT'6PP%M0O']_YLIC&;#(?]_(/8\HV+OU!+ P04 " "D@J50YXB> M&<,! W! &0 'AL+W=O[N,ZNCDH)8P+7W]@6TUMOCO@@,OS\SP)B- M2K^:%L"B=RDZD^/6VGY/B"E;D,QAFN)Z_JG^&&IWM9R8@7LE?O/*MCF^Q:B"F@W"/JOQ">9Z M4HSFXK_#&82#^TR<1ZF$"5]4#L8J.:NX5"1[GT;>A7&<=FZ2F18GT)E %\)M M\"&34NK,I?3 <1=ASR1L7/1>4THR+(&E6KH0KNLHDM7W-%P\5_PJ:5^,-WPSJ"3 MLN[YA$NNE;+@4ME%5?W&PO=V]R:W-H965T%,9JX5'T];, M=19$&4E:,;[9?&!:R);F:?2=;)Z:WBO9PLD2UVLM[.\C*#-D-*%7QY.L&Q\< M+$\[4<-W\#^ZDT6+S2JEU- Z:5IBHB> MDA(JT2O_9(;/,-5S2\E4_%>X@$)XR 1C%$:YN)*B=][H2053T>)UW&4;]V&\ MN;W2U@E\(O"9L(\$-@:*F3\*+_+4FH'8L?>="$^<'#CVI@C.V(IXA\D[]%YR MSN]2=@E"$^8X8O@"D\P(ANIS"+X6XLC_H_-U^G8UPVVD;Y?TY)WXNU6!7138 M_5/B_DV):YB/;X*P14\UV#I.DR.%Z=LXR0OO/+#W/+[)7_@X[=^$K67KR-EX M?-G8_\H8#YC*Y@9'J,$/-AL**A^.=WBVXYB-AC?=](/8_(WS/U!+ P04 M" "D@J502'/H;O,! #+!0 &0 'AL+W=O@FT M="3.2!0$6\)IV_EYZG)GF:?BJEG;P5EZZLHYE;]/P,20^:%_3[RT=:-M@N1I M3VOX#OI'?Y8F(K-*V7+H5"LZ3T*5^8_A\72P> ?XV<*@%GO/=G(1XM4&7\K, M#VQ!P*#05H&:Y09/P)@5,F6\39K^;&F)R_U=_=GU;GJY4 5/@OUJ2]UD_M[W M2JCHE>D7,7R&J9^-[TW-?X4;, .WE1B/0C#E?KWBJK3@DXHIA=/W<6T[MPZ3 M_IV&$Z*)$*T(9#1RE7^BFN:I%(,GQ[/OJ;WB\!B9LRELTAV%^V:*5R9[RZ,X M2,G-"DV8TXB)%IAP1A"C/EM$F,4I^H\>X?08K3!V]'A)#S_P3U"!Q DD_[08 MKEK$,!]4N4%--HA O#+!, ENLD5-MHC 9F6"8;:XR0XUV2$"NY4)AMGC)GO4 M9(\('%8F""8)<),#:G) !-87CV'6%T\6CXF#K-T845XAKIT;88OL/*D>(_<8 M_\+',?>-RKKME'<1VCQI]_ J(3284H('\_]HS&2= P:5MMN=V&PO=V]R:W-H M965T)W^?0?L.&[JO@ SG'/FPI"-QCZ[%L"3%ZTZE]/6^_[(F"M;T,+= MF!XZO*F-U<*C:1OF>@NBBB2M&-_M/C M9$>++/K.MLC,X)7LX&R)&[06]O<) ME!ESFM!7QZ-L6A\+$_Z'S;?I^,\-] MI._7].0_\=--@30*I'^5F+XK<0MS>!>$K7JJP39QFAPIS=#%25YYEX&]X_%- MWN#3M'\3MI&=(Q?C\65C_VMC/& JNQL&ULC53;;MP@$/T5Q <$F[W87=F6LJFJ5FJE5:JVSZP] MOBA@7Z=\7L..Z&R+EQ3##F7-FQC#9*-63;@$,>A:\USENC1D.A.BR!<'T MG1R@MR>U5((9:ZJ&Z$$!JWR0X(1&T9X(UO6XR+SOI(I,7@SO>C@II"]",/7G M"%R..8[QB^.Q:UKC'*3(!M; =S _AI.R%EE8JDY KSO9(P5UCN_CPS%U> _X MV<&H5WOD*CE+^>2,+U6.(Y<0<"B-8V!VN<(#<.Z(;!J_9TZ\2+K ]?Z%_9.O MW=9R9AH>)/_55:;-<8I1!36[5% M&REF%IN*8,_3VO5^':>3))[#P@%T#J!+0.IUR"3D,__(#"LR)4>DIMX/S/WB M^$!M;TKG]*WP9S9Y;;W7@F[W&;DZHAESG#!TA8D7!+'LBP0-21SIJW :#M\$ M,]SX\,TZ/'Y#?QLDV'J"[7\E)C>C\55M[E\=]3?[__ MP:?)\8VIINLU.DMC7XF_R[64!FPJT9UM>6N'U6)PJ(W;)G:OIB<[&48.\S0B MRT@L_@)02P,$% @ I(*E4,=16,5/ @ \08 !D !X;"]W;W)K&ULC97=CILP$(5?!?$ "]C8D!6)M$E5M5(K15NUO7:( M$] :3&TG;-^^_B$L=;Q5;X(]G#GS#8%Q-7+Q(AM*5?3:L5ZNXT:IX3%)9-W0 MCL@'/M!>WSEQT1&EM^* MNHZ(WUO*^+B.L_@6>&[/C3*!9%,-Y$R_4?5]V N]2V:78]O17K:\CP0]K>.G M['%7&KT5_&CI*!?KR'1RX/S%;#X?UW%J@"BCM3(.1%^N=$<9,T8:X]?D&<\E M3>)R?7/_:'O7O1R(I#O.?K9'U:SC,HZ.]$0N3#WS\1.=^D%Q-#7_A5XITW)# MHFO4G$G[&]47J7@WN6B4CKRZ:]O;ZSCYW]+""6!* '."KOVO!#@EP+>$W#;O MR&RK'X@BFTKP,1+NSQJ(>2>R1Z@?9FV"]MG9>[I;J:/7#4!YE5R-T:39.@U8 M:+)9D6CWN00(E=B"NW3P=X'=O2)+WRD!@UU :Y O#3+D=>$TV&IZIX&KTNMU M%U AE+T#DP=A\CL8@'P8IT&+,@ 7!2Y3[/&$A"L,(<9A)!1$0@$DK](6W57* M$"BA_X#N92"#N(!A'!S$P0&I!Q00%EE1I' 51BJ"2$7@#?*1 MG*9<5$H?D/\N!T5E&*4,HI0!E-)#*?\')2@J/)1D,2DZ*LYVJ,JHYI=>F6]R M$9WG]A,PD\:+;_4\=^/WS<8=!E^).+>]C Y&PO=V]R:W-H965T0/B+EE MNUD!4I8H:J566J5J^^R%X:+X0FVSI']?V["$++0OV#.<.6?&GG$R"/FJ&@#M MO3'*58H:K;L#QJIH@!%U)SK@YD\E)"/:F++&JI- 2A?$* Y]?X<9:3G*$N<[ MR2P1O:8MAY/T5,\8D7^.0,60H@!='2]MW6CKP%G2D1J^@_[1G:2Q\,Q2M@RX M:@7W)%0I>@P.>6SQ#O"SA4$M]IZMY"S$JS6^E"GR;4) H="6@9CE CE0:HE, M&K\G3C1+VL#E_LK^[&HWM9R)@ES07VVIFQ3MD5="17JJ7\3P&:9Z[I$W%?\5 M+D -W&9B- I!E?MZ1:^T8!.+2861MW%MN5N'B?\:MAT03@'A'&"T_Q<030'1 M>X [33QFYDI](IIDB12#)\?+ZHCMB> 0F<,LK-.=G?MGJE7&>\G"^WV"+Y9H MPAQ'3+C !#,"&_99(MR2.(:K\/"C0+Y&!/X_)*+-*B)'$'^HXN&FBA&S?!O$\&+VV,@:]?HRBM$S[4]IX5WGJ7' MT-[^C?]H9FP:<4"_$5FW7'EGH4UON0ZHA-!@4O3O3-O@W;H# #V$0 &0 M 'AL+W=O^>ZLU*7=HBK^13[367LLSJWUM9J.O:)_[KB\_Y\=1V+X+-ZIP=Y1?9 M?CT_U?HIN$79YZ6LFEQ57BT/:_^!W#\RWA7H%=]R>6TF]U[7E&>E?G0/'_9K M/^POT=_UC=>->IA MM,Y9EQ3DGNG.W'4O^[[K_].M;?3;EPV-R2IXZ0*-FNV@H1/-7T6@H]^JH*B* M+;6*TWD%C[:""UP#@XU@??EHU@BCCNV@B7M--6BB*$T-)_]3S,L+)_II,N&MOQ;,S.20"/)@C%.[-'CW'2"1-21^RFTDBX8X=3*:I:8 M3E++210R;(2$&"4AL!*;+$$B1X.) UD$A$C,>I#(D:T$QR?"=@)#&$)#.+1]&TASBW]DM(E<:.'&:87&S)3@:) MA(,F#..- ;PECJ%DCD\L!"1SNB%1XE@B&>8, YQ)'$LDPV1@2\B 1(FY1 :3 MK^A2UL?^P*'Q=NI2]:<=D[>W0XT'VG^%_Y4/)R*?LOJ85XWWK%K]+=]_<1^4 M:J7V$K[17DXRV]\>"GEHNUNA[^OA)&)X:-5Y/&4);D<]FS]02P,$% @ MI(*E4!EP(%H( @ ]P4 !D !X;"]W;W)K&UL ME93=CILP$(5?!?$ :\R/(1%!ZJ:J6JF5HJW:7CMA"&@-IK83MF]?VQ#$@E6I M-]ACSLQW!FSG Q>OL@90WEO+.GGP:Z7Z/4+R4D-+Y1/OH=-O*BY:JG0HKDCV M FAIDUJ&PB @J*5-YQ>Y73N)(N"GPT,KC#$1@SA;2-WU--?T::Q.7\4?V3[5WWFYK_"'9B6&R>:<>%,VJ=WN4G%VZF*MM+2MW%L M.CL.4_U'FCLAG!+".0''_TR(IH1HE8!&9[;5CU31(A=\\,3XLWIJ]@3>1_IC M7LRB_7;VG>Y6ZM5[$69QCNZFT*1Y'C7A4O-><=PJDG26(&U@=A$Z780V/W[G M(EFY$:KI1$Y+038F<*=,7@23=6 MZUMX#AA4RDQ3/1?C730&BO?3-8OFN[[X"U!+ P04 " "D@J50J+.K7Q8" M #\!@ &0 'AL+W=O<\B(H!DAV7)8MV1)SEFV?*SP*.2UE;96S?[^V(%%HT"_VA?NYN>Y';=.. M\7=1 4CG@Y)&9&XE9;M%2!054"Q>6 N->G)DG&*IEOR$1,L!EZ:($A1X7HPH MKALW3\W>GN<=0[OOZT6ZQ^%OPU5,PN]:7IGGJFT0NU> M\B )4G311H/FM=<$MYI[Q6ZNB-:C!"F D2*P4@2F?G5'$=H-0JM!:#%836+T MFMAH&J,)_2#Q)U'FJGB3Q($=9F6%6@ S5RW 1%:8R-*9R&X0 M6PWB)UH;SSB]29(EQ1W$V@JQ?J*EZX<02XH[B(T58F/I1&PW2*P&R1.M3!ZF M6%+<0:CCU?J7]YYHYB"*%S@6)3T(NCF&]+WP _-3W0CGP*0ZTKI6LUY?Q[W"\G:X:Y!XX67_P=02P,$% @ I(*E4(8P M%5J" P @!$ !D !X;"]W;W)K&ULC9C;CILP M$(9?!7&_BSV @542J4M5M5(KK5JUO?8F3H(6< I.LGW[FL.FB3U>^28<\L_P MC\?^."S.LGOI]T*HX+6IVWX9[I4Z/$11O]Z+AO?W\B!:_<]6=@U7^K#;1?VA M$WPS!C5U!(2PJ.%5&ZX6X[FG;K601U57K7CJ@O[8-+S[^RAJ>5Z&-'P[\;W: M[=5P(EHM#GPG?@CU\_#4Z:/HDF53-:+M*]D&G=@NPP_TH8S)$# J?E7BW%_M M!T,ISU*^# =?-LN0#(Y$+=9J2,'UYB1*4==#)NWCSYPTO%QS"+S>?\O^:2Q> M%_/,>U'*^G>U4?MEF(?!1FSYL5;?Y?FSF M*PV"N_JLXB5K+!R?Z&FM9]^-O ML#[V2C9S%FVEX:_3MFK'[7G._Q:&!\ < )< FKP;$,\!L1$03<[&4C]RQ5>+ M3IZ#;NK6@0^3@C[$>C#7P\EQ[,;_=+6]/GM:09$MHM.0:-8\3AJXUMPJ2EN1 M_D\2:0,7%X"Z@#$^N7&1&RXF#1LU[:C)4LBHX<16)7E<.,S$J)D8,5,89B9- M>G49RHQA*Q$-!=Q(@AI)+",Q(8:1Q+K(':2IX003.9RDJ),4<6*,_&-J721+ M:1X;5FQ5DB>YHS\,-<,0,XYJ,C1!YC';,LMGS,R%4=HBJJO!K>2HE=QCKN6V M%7/6VQ)7?PO41N$QTPID$ADV; G!75""PXAXS+-9=#,>&3"32+:*IH0Y[#C8 M2!$[L2,%#C;J0[99=.,5,I*8)2$R L0QWR@.-^I#-XJ@JS#=V)K"X02G&_7! M&T701:V!042N-N%\HSZ HS:[AC99 X/("%#72L 91S'(N3J-4X[Z8(XBG$NI MV882D0$K$IX:7IQWU =X%"->;+4;4;EN\X!C#WRP M!PCVDH*8W$-D>HXZ#>'@ PQ\J2.%XXG.ZY'.)AJ0W"R]1&0,,L?D YQ[X,,] ML)G&+#,(&QU.<.Z!#_? 1IJY)A')G>NA&Z<>^% /;)SI'C'SUH_(&+#' M'F#0<]RR 8<>^$ /$)H5S%S8B$HO.%>O<>2!#_+ QAFU9IVM<1 /<.*!#_'@ MO0>XV8CW,UZ,PR[V@=TL8C<=RDTOB KI4'3U*CQ\F_C&NUW5]L&S5/JM>GSW MW4JIA,Y([G5=>\$WEX-:;-6PF^G];OHF,!TH>9B_=T27CRZK?U!+ P04 M" "D@J502A-*/,T! !A! &0 'AL+W=OL>HE MD-J1&,5Q&#YB1CJ.RMRM'669BXNF'8>C#-2%,2)_/P$50X$B=%MX[LZMM@NX MS'MRAN^@?_1':2H\=:D[!EQU@@<2F@)]B/:'U.(=X*6#08>+WB,,]8O.W"38&)A?QJHO8\=-W+K8+%R/F MT6'XB-E&NW1=)EF5259D=@N9$;.9RV1A]H\TZ:I,>B\3A0N9]"Y-MHFS:+&O M]ZATF^R69O#LL.WC^T;DN>,J. EM[HT[W48(#:9C^&"2M>:]3P6%1MMI9N9R MO/5CH47O'S2>_E7*/U!+ P04 " "D@J50&&5[4 4" # !0 &0 'AL M+W=O.]B+W&RF' M(T*B;* CXHD-T*N5FO&.2&7R&Q(#!U*9H(ZB, A2U)&V]XO,^"Z\R-A=TK:' M"_?$O>L(_WL"RL;$ZUW@A^M3"*U=S3G5P9>]'&URKW PT$%$JI,Q U/. ,E.I$"N//G--? M2NK ]?PM^V?3N^KE2@2<&?W=5K+)_;WO55"3.Y7/;/P"$2P"._QL0S0&1%8 F M,M/J)R))D7$V>GSZ60/19P(?([69I7::O3-KJENAO(\BPCA##YUHUIPF3;C2 MA.\5YZTBV2T2I 6BM!)$9KX^!V%5>,T:5*CZ8T&!V&TLTBVJL,>[]TLD9,E M%,$![LHM5!+8C9(Z45('BM7Q*74P2"P:M[I)^V[X3 M?FM[X5V95-?27)Z:,0DJ8_"D&FO4<[H8%&JIISLUY].C,AF2#?-[B99'N_@' M4$L#!!0 ( *2"I5 4#Q)"^@( .X, 9 >&PO=V]R:W-H965T5_YVWU:7G615^))>@?]9,RHV!@.>:EJ)I<5IX2IXW_R![V ME-F %O$S%_=F=._94IZE?+&#S\>-']J,1"$.VE)P<[F)O2@*RV3R^-V3^H.F M#1S?O[%_;(LWQ3SS1NQE\2L_ZLO&SWSO*$[\6NAO\OY)] 4M?:^O_HNXB<+ M;29&XR"+IOWU#M=&R[)G,:F4_+6[YE5[O??\;V$X@/H &@(H^6] U =$0P"+ MV^*[S-I2/W#-MVLE[Y[J=JOF]E"PA\@LYL%.MFO7_F>J;P\!JP7.;Q+ MV'H$K#?;/ !RGC/"UB/D*L=3@K"K"+EJENHNFY[D'C1^"]>+8_"#1=MV#4)99"G=N&NO$.\EIIVX^-9H>F_9%LESF9WYEFOFN]_]%T M7P)?N3KG5>,]2VUZV+;3/$FIA_RZ,JUF[J.D=VHI=*O?#N*QL2BEUGR/X[ MN[)*RTTDFG'@E;2?SN$B%:\'+SJ4FK[WS[*QSV[P?S.##?!@@$>#T!KX/Y?C:-!L^LU^$Z# M1H6OO8\(#"%V>&8>1C'L( 1C#*V#Z,$!F<38:V*K::P&)P03 G,BD!,!G&3" MZ37I'2?!7IC"F!C$Q FG6#B63IAB#(,8PB((0 FFV#(+)N,>,D")@$QR1P3 M!Q-,,LOFD^X;"Y',*8#,1D 9/,-D\FS1:N $H@*LN M #CAM.R"63X(!8N7#2T4./I ]0RBA_L6$!)D"RBPT+<(?Z" !M%#!45>%BV0 MX(Z @)80S]K6O">@- GQ0D] <%- 0%>(XREJWA8(]F:7PK_KRC439SN/I'/@ ME\8.P[O3<>9ML>WJ_^7]P/Q!Q;ELI+/G2L\&V\%/G"NFHPD\G7*A9_2XJ=A) MF66BUZ(?5/U&\788PO[X3V#S#U!+ P04 " "D@J502'.7$4T" K" M&0 'AL+W=O+4-F3[][6=D((S4%ZP/3ESYDPRGB%KN7B7!8#R M/BI6RX5?*-4\$R+S BHJGW@#M7ZRYZ*B2A_%@9 MM6W$,N-'QD_A#3.%[NS^R?;?(ZF2V5L.;L5[E3Q<*?^=X.]O3(U"MOOT"? MT-3W^NR_P0F8AALE.D;.F;2_7GZ4BE<]BY92T8]N+6N[MCW_V0UWB'J':' ( MT[L.<>\0.PZD4V93_40576:"MY[HOE9#35&$S[%^F;DQVG=GG^ELI;:>EO$T MR)+C#A@"":?0@182%6T<@]N@ZP'B/"X$:(&,TBM@23JRQ2)PL, M,W.$8)@Y+F2""IF,"9+ $3+&1+/0$7(?* M#,,X8M?W,5="P@#O'L$#98:"W)N'@FY2BQ58@ M#G8:22_GQUJ99G9A'2;>2V1:M&-?F4EH6_<_FFZ,?J?B4-;2VW*E!X!MTWO. M%6B-P9.^F86>W,.!P5Z9;:KWHAM?W4'QIA_-9/A_L/P+4$L#!!0 ( *2" MI5!0=>:85@( $$' 9 >&PO=V]R:W-H965TO;0@EX$A[$]O# MS'SS0\:3]XR_B8H0Z;PWM!5;MY*RVP @RHHT6'BL(ZUZ>9&SBZ1U2YZY(RY-@_G?/:&LW[K0O1E>ZG,EM0$4 M>8?/Y">1K]TS5R].' M;\>MZ^N*""6EU"FP6J[DB5"J,ZDZ_HQ)W8FI ^?[6_8O1KP2<\""/#'ZNS[* M:NNFKG,D)WRA\H7U7\DH*'*=4?UWM*%*-D5)A?I[P(R9HQBRJEP>_# M6K=F[K=E-IH7H5Y MIHH7RGHM@L3/P54G&GWV@P^:^<#) ZCL$P+9$'NT"@_"R)X@L-88F 3A78UP M4>/@$QF?=O"!898$=DYHY806#EIP!I]TQDDS+WH@)[)BHC4F3!>8:"4'I=!_ M@(FMF-BB)EA@XI6:+/9FFN\PB1636##A I.LU'Q"492E=DYJY:063K3@I"LY M2>:AQ([)K)ALC8F6_X%L+2>)86S'0-_>=[Y%3[QL/'_]?7PO?" (/NAP^('V M&9WN^L?/TCA\@+)V^@ZB#W30Z'0G"GK^LE/![ 9K"#^;NULX);NT9G#,K--\ MV)GQ /Z[#\/E!^;GNA7.@4EUCYK;[L28)*H:WU.2*S7/I@,E)ZFWB=KSX5(? M#I)UX\ "T]0L_@%02P,$% @ I(*E4)A0F1AA @ "P@ !D !X;"]W M;W)K&ULE97;CILP$(9?!7'?&)MS1)"2K:I6:J5H MJ[;7#G$"6H.I[83MV].N-0UYG]VA+)NXT+WMO%M?A,OA/YH]USM0*CEV-5DT94K'$X M.6W<+5SO8* -C.)G13HQF3LZE0-C+WKQY;AQ/1T1H:20V@56PY4\$4JU)Q7' M[\&I.S*UX71^\_[))*^2.6!!GAC]51UEN7$3USF2$[Y0^K!BPJEQJ_]6#5F[ ;_-S.[ 1H,T&C@&P/0@TSD M'['$><99Y_#^\%NL[QBND3J;0F^:HS#?5/!"[5YS/XXS<-6.!LVNUZ")!HX* MH+R/"&1#[-#"W ]"NP/?&J-O' 1O8DQF,?::T&@:HTG]Q+=3 BLEL%#0C-)K MD@DE3%;^G61"*R9<8H)Y,N$B&9BF863'1%9,9,G&GV&B1380)JOH#B>V'8$].POSEM"$F_^ MY'I1] #ESKN&2THX_SL/HCJ,X\+2DY23V,UYWU[ZA>2M4/K!6/_S_\" M4$L#!!0 ( *2"I5#T[BB=/0( )D' 9 >&PO=V]R:W-H965T,Q,VG#Q+@L Y7PP6LF56RA5/WN>S M@1#[Q&BK] MY< %(TIOQ=&3M0"RMTZ,>J'OSSU&RLK-4FO;BBSE)T7+"K;"D2?&B/BW!LJ; ME1NX%\-K>2R4,7A96I,C_ +UN]X*O?-ZEGW)H)(EKQP!AY7[$CQO NM@$6\E M-'*P=DPJ.\[?S>;[?N7Z1A%0R)6A(/IUA@U0:IBTCK\=J=O'-([#]87]JTU> M)[,C$C:<_BGWJEBYB>OLX4!.5+WRYAMT"\0Q#;Y5IE-]0M1)$L% M;QS15JLFYE($SY$^S-P8[=G9;SI;J:WG+$J"U#L;H@ZS;C'A /.)\#1['R+$ M0JS#B7MX'6 S103^C1 1FD5D">)A%K/%* L,DXR$8)@E+B1&A<13@KD_$C+% MA.,CW]S'7 F9H4)FB)!Q73',N#08)L*%S%$A.%>@-?I/^C\H])SL-Q0.RBP7>BW:8=%N%*^[0>CUTSC[#U!+ M P04 " "D@J50N+(=700" "]!0 &0 'AL+W=O&BM3&U3=C^ M?6U#6!;>&#\5=0 TGFCI!6)6TO9'1$2>0T4BP?60:MV2L8I MEFK)*R0Z#K@P290@?[>+$,5-ZZ:QB9UY&K->DJ:%,W=$3RGF?S,@;$AZ)?&;#5YC\[%UG,O\=KD 47"M1-7)&A/DZ>2\DHQ.+DD+Q MVS@VK1F'B?^69D_PIP1_3E"U[R4$4T+PGA :\Z,R8_4SECB-.1L&ULC95M;YLP M$,>_"N)]RS/&$4$JF:9-VJ2H4[?7#G$"JL',=D+W[6<;0A/C5GD#]O&_N]\9 MN,L'REYYC;%PWEK2\;5;"]&O/(]7-6X1?Z0][N23 V4M$G++CA[O&49[[=02 M+_3]U&M1T[E%KFU;5N3T)$C3X2US^*EM$?M78D*'M1NX%\-ST,YA^+!VGX+5)O"5@U;\;O# K]:.*F5'Z:O:?-^O M75\188(KH4(@>3OC#29$19(@[IQ3.5ZO+]&_ZN)E,3O$\8:2/\U>U&LW M]/I M^S#%O[C9'<+)(9P=9.[/'*+)(7IWB'7Q(YDN]0L2J,@9'1PVOJT>J8\B6$7R M,"MEU&>GG\EJN;2>BR@#N7=6@29-.6K"*TTP*SP9?4X1VE*4X<(]O$VP62H" M_X,4D;6*2 >(;ZK(C"I&3:HUG=8D60*@;[!89'$00V#'B:TX\1TXHR:YP0$@ M-G$LLC@$,+'C)%:@#\ -#M;&HLAB&=AA@A0%+&/,E MEF"9)H29>;9+50Q2.TIF1TF_AU?RB2Z_L4>((3FIV*397Y@ GE7G:[%[*B' GNJ$ZBE7UGGP M/(6J4QKV4@TDW4'?PXS3["=BQZ;CSHX*V8=UMSQ0*K"D]!_E<=5R@,X;@@]" M+8%O.8+OX#4$L#!!0 ( *2"I5 'X4>2) ( %8& 9 M >&PO=V]R:W-H965T6]( MR]=N)42W0HB7%328/] .6OGE2%F#A5RR$^(= WS0I(:@P/,2U."Z=?-,QW8L MS^A9D+J%'7/XN6DP^UL H?W:]=UKX+D^54(%4)YU^ 2_0/SN=DRNT*ARJ!MH M>4U;A\%Q[3[ZJVVJ\!KP4D//;^:.JF1/Z:M:?#^L74\9 @*E4 I8#A?8 "%* M2-IX&S3=,:4BWLZOZD^Z=EG+'G/84/*G/HAJ[2Y;^BA . MA/"#$'U)B 9"-"$@4XK>FRT6.,\8[1UF3K?#ZA+YJTCN?JF">K/U-[D]7$8O M>;@,,W110@.F,)C@!N./""35QQ2!+441S.C!?8+-'.%[_CUF.\?$J=U%:"TT MU/SHKM!H4JC!)!K3&LQB&4_,SD&1'WMV*Y'52F2Q,LE2V##)Q(D-\\F>Q%8C ML45@,3%BPRSM21)KDF0F$'G>)(D-\\D=2ZU)4HO Y)85Z?S@DJF3[7] Q@JZ M>5T-L)/N7-PIZ;D5ZH[>1,?F^!BHUSF)%_YJ8WKO M7^B14@'2H_<@SZ2237Y<$#@*-4WEG)E69Q:"=D,71^-?2?X/4$L#!!0 ( M *2"I5!+9;1]3 ( &<' 9 >&PO=V]R:W-H965TUN,A/;\TW&+I*6->RY(RY51?B?+5#6KEW?O06>RW,A M=<#;9 TYPP^0/YL]5R=O8#F6%=2B9+7#X;1VG_S'G6\2#.*EA%:,]HZV.]S?VS\:\,G,@ G:,_BJ/ MLEB[J>L$A0M?^5$/0)P7M":,QWRHS53T223<99Z_#N;35$_RG\ MQT!=9JZ#YN[,,^56J.AU$Z(@\ZZ:J,=L.PP>8?P!X2GVH02VE=CB63K^6& W M1_AHH41@=1$8@O #P=1%AXD-INXP?N2C=*+%!@O""-OEA%8YX4P.CA;\1%:" MZ X_'2;ZGQ\;;-E/;)43S^2$*+03)%:"Y X_R4SH"J$DGMB9H](D]1\IZR5UX!".>M(2W?N)40W=KS>%E!@_D3 M[:"5;TZ4-5C()3M[O&. CSJI(1[R_<1K<-VZ1:YC>U;D]")(W<*>.?S2-)C] MV0*A_<8-W%O@I3Y70@6\(N_P&;Z#^-'MF5QY(\NQ;J#E-6T=!J>-^QRL=YG" M:\#/&GH^F3O*R8'25[7XI9<#YK"CY%=]%-7&35WG""=\(>*%]I]A\!.[SF#^*UR!2+A2(FN4E'#] M=,H+%[096*24!K^9L6[UV _\MS1[ AH2T)@@:_\O(1P2PO>$2)LWRK35CUC@ M(F>T=YCY6!U69R)8AW(S2Q74>Z??2;=<1J]%Y*]R[ZJ(!LS68- $$XP(3[*/ M)9"MQ!8MTM&_!79+1.#?*1%:782:()H2!,',A<$D&M,:3)*B>";%@LJB*+6+ MB:QBHH68R(_L!+&5('[ C<'$$YTH]M-LYL:"2L+ MXM)K&(2BYO83K"R$JP> M<+-:Z(S"))J9L8 0NG-,4JN4U.+ESJ?-K 39 UZRQ0GZ$* $I3,W-EC@I^%, MCC>YR VPL^YYW"GII17JRDRB8UM]1JH1S.);V6Y-=WRG,;WZ&V;GNN7.@0K9 M9G0S.%$J0*KTG^1V5_+W,"X(G(2:KN2&ULC57M;ILP%'T5Q /4-M]$!*E--6W2)D6=UOUVDIN :C"SG="]_6Q#$"/N MEC^QKSGG<(Z#KXN>BS=9 2COO6&M7/N54MT*(;FOH*'R@7?0ZB='+AJJ="E. M2'8"Z,&2&H8"C!/4T+KUR\*N;459\+-B=0M;XO4=2?WFF(\_E5_9,-K\/LJ(0-9S_K M@ZK6?N9[!SC2,U,OO/\,8Z#8]\;T7^$"3,.-$_V./6?2_GK[LU2\&56TE8:^ M#V/=VK$?]:\T-R$8"<%$(-$_">%("!<$-#BS49^IHF4A>.^)X=_JJ/DHR"K4 MF[DWBW;O[#.=5NK52QGAO$ 7(S1BG@9,,,,$?R,VMX@XG2!(&YA5' M=^-8.CMP"B5,@N2-/G,J?<5,!8.C,M-4S\709X=" M\6Z\0]!TD95_ %!+ P04 " "D@J50VT11 'H? "FF % 'AL+W-H M87)E9%-T&UL[3UK<]M( M%^SS)D[R/WRW+HKMB^?/\^4ZW/CY*-V&";RY2[.-7\"?V>IYOLU"/\C785AL MXN>N;4^?;_PH^8Z52?37,CQ-RZ3XPW=CQ_GNIQ_SZ*#^/O4V38IU#GR ,VF_?^MF( M>8[%7-NUVR]/MOC2-K^LX%&!^.4B2D+VI@@W^?^V.PB83Z%/YL?0+0@_L_\* M']KM;-MVQF-O.EUTC' 5KJ(K MV%^UW][Y<:X->%IF&76(\B4 _N?0SQ"9[,POM+;#H>,./:<366*,RS"+TH"] M@L?:AOV\LS=!8.S;NU$W#UL-7L<>_MS9X>?2SXHPBQ'EVS0KV@V+K-0&K#J+ M)78A2A+>X%_^I1]HV.<\(N(R R&(XE44A^Q=N;D-,YV@G*$W&7N3CJY )6D& M0Q,)6^RZ '!9FC%BP@PH-@UT\-]U#';C?V9O H \NHN6G"G,4(V=H;/P%E-W MWC'221 .^>6_,"(M]XG&BR3R=AFES!3& +061A^9&=9]$EKUQ[W%/^"==ZD M]XF^/5O YV4,,FG7,!6^@/$^1C=1 4M/[YCC'MT>L^MP668PNP91NMG MYEX7Z?(CK DX\H]^7(;LF3T"@D/R9]?EVD]6H5'LO?OS]7F7R!4"C#,030Y[IDN//^O:HV(1D /^L@"J0F[V MY9 ]S BD"'2Q2C,-0ZA"'[VS2WEW8R9^_+ D@WP?W3R2')TS@*:#TO M_=@'1L")PB)G1W(#A$S\D/AE$$'#8]#:'Z[/V-&S8_:,10F[6:=E#A-HZSP+ MEU)/.SISB.']/(?IM+=^OF8P)EOBA_"O9?3)CZ&YUO!Z#=0QA(W>L(V??0P+ M_Q88(>?4%^FT 3N($C)G6;@,85!H;;$D+)!W8,_2>\(!& "@B.0MJB_" M1[OIZS0-[J-8X_WW!$J4 (6M(D0]G\DXQD6:K [8JO=;Y#1DD#CT\[!C#1R MN!JZ#QL=M"9P%$?^;13W4\W6?T"H#>_!K !J!?:$;2(5VM5&F:;>S"Z8TA8. M>F!$BV 3LL+_'';"V22*GL'JK3H @KI3$-Z%,$> T/3U:&]>3U,.>D\#$G?K M- ["+/]WHF9=_P$W"/TL 1A/3E9LR)N4D M)!ZP%^PQ0)%)3'@[$G^[=6Q!F3\\FY1\*=;/W M02 ;NQX*K^BF,EUO7X6&R!E!S4L\>-H@J&S M*5@FNLM\"OX0]LS,K\&D!>=OFZ5WD68&U'I=&C4&R,$\P!;$DV#Y:4VNPCPD M884M @ B3LEXT0 )DQ C-]C,#S910E&8PN!I+AI MBYR3&GD4#ZL>'?OE+6EB+4BIZ-Q+H7-/N<[M[%(IWW.A?+L'?W_ZAIT411;= MEMQBAPWDJJRS#[&2OH]<4RK;Q/R"J4ZB%E62?7:UDZ*X(;KA0?@YS)913I&1 M=$N,6MO;F9IM]R#:5Z!M(M6B?!!E@\,8^)YS.'W@[^4 M>6$2XQW$TZOB%.+9JUT/8?:-O5>[;KCU,+(9;KU=GPV!49-78#;FCY(ZM8:F M\)G9):[V*D>)D(7+-%EB/%L1ZO <_Z(8SA:U6 "0WCXH2K8>7Y/[9R$0TS(2 ME('J>X.!P+\9G>LSQ>$TP*KT1/0@HPV+=+CQ"QZD[ E"&+USBFCFB$-E*11< M($@5KT);EB$ U14,,H#3'0[J"P>8K(&]-L4$6;ZCS:4J-+8BPF35X24U@B6T M5$=T2AV(=U!P'!$H&U-,L-%QKU 3F%C+, QR;M4)LH@.&*#"Z!'9.%%RW,!M MM ?>7D4)L/T.W#;@E J&P.3B7.B97HP\0N-4RQ.K8W=[ 'M^=Q%,@> MD7.V%-R3)GS,?<*\",!1$"XSC$$=HWRA3RPZ8(S.F+(%5O@J2M .(IHEU_V MWB$2=%>_=RDLV0'1BW8LX1]X.(>.1CF&K4F>"FH YJ@ENR:;LI6?"+%FL5H= M2(&I3H03F\9D9U&^C-.\!"?DEYOP<\%>QD!(FDDGEG&S#EDI%0J&?6'-&];0 M1,99:-DRQ6VA!3YB1_0DI@? W3*W8;%[\)C*'+-S:9D=L[7_"?VD, &6 NF7 M<0K$\$<6D*)$2I;A$-S#;0;T$6W!:V0K[O[%#_@^W'*@:;8/253I38+O9 -K M6?J@,$?7(_;ZY.3R6#A2F'FXB-&..C?_^ M>\22M !A\D XY"NI=@8[U^/G-=Z0OE.:#M44352!!QH$J!!9>>,G_HIZX*P; M_V/(4-QL:&FD.L$HW0@3M%B#8>%SWL1Y,TJPA:1?99I#!O$5169)5Q\)7F@? MBP;G@_ X75!14X[V"[X**-/:LT;RX$&NPL[5\- ^$D.-V,FR**$+C%G&T![V M&:06+BZ+:&N#"%:3<9D((^3*ZD>X!^RNS(0[7FT<+@<[ ;YP4DG1NRD9H15< M"D.&T!^(+2Z#FK($'?_;O\Y=9_9#SDZ2!,'GB4R4>I(LM- J>Q7>9J6?/6" MEFR^$5$+TC:-B5CI#C^*(*X^+%(>)T-M B.?NR"NKF 4+-RIV0K8-8'/2[,P MN@:KGLH'6IT U"5JTIW"Q153QIAU3XE5.R=G9S6]W$597M!::+53YGB6LG5O MB"=Y+]H2YP>L-X#M9A=ICBHQ21O#I4@L(M(-/V?,'H.SEAIA]@!1J)J$L87Y M<^FQF]+HE;-=)=IWH\5C/ !BBI6 LREC*6!FD#^8:P"VG3M/EDF MF]P55-B"A%&2(T0%H(T*'LJ[A:55N. CX7+#S39.'T()IFQ"@XV0_$D0(WX: MT *9@:W(I6F%V*4?+\NXTI45@BJ4MC89)4;,D:[, VJ44U6ND! N,;^+PH#+ M66[EWX;@.#-R-*"W4.V<]"L@;HDG27/U\,R+P8OY&#],K(GC#+C(&.JLJ7/B"TH& MSJ;6W)[BQ\74L[SI=%!;[S5%5N[/B\%YIH6<<7. -D&:E^3@:X)]7DBN%4<%IK MIG#?M"LSQ/: 1$W8JEI"T>ZG&1FW8ASS$O.2?Q/:R$[Z]33(_9CPUI"9W M&^$9W.(]FEQ$=SRJ]A#Z&8PJ)J?'5R&6)[,YL=N>X4VH_'\B\7_YHS%WH.V01^NJ/YX#J]*^Z1Z8MPN4[2.%T]('^[ M[@*Z6%-G#IT<&SXXRF-W-N&/%Y,Q!V4&0YV6P)W@UG#S'!ET'6USJFM ,;6 M>(&K IDQMY6GCCVEIXOIF$T)M@7\]$;3 <^1:=4^@ (7!UL@4F;6'$01HL69 M I23UDO'XXAT9B!F%LV-%7Z%=+O:^P7F[3-[-&<;(%GI>\?6 (AE=G$ T M>BX< U#_*]B;E2\<'QV&AHDC*V8J3N29::';97^$50<[HN**NQ2S^$!B+6ZH M 6I@XIQ#,:A)F=8 J+3W_NA!@[GCX4>@ VMLVP,2+?X= M>$L,MW8N-C&L,6%:OMP]H[R: $F\\B-9/?H6[#B0/3JY/V1QP9020WN!_3B+H MCE]@\I@YY!NX/_Q&2TW,"D MT=]@P-K'E]%:4VG1X?JES3D2'+%5#SI#>X&T'&E$!.):[ M<.##4/R?SD%0NO*!X*Z=[9B1L:;PXFT=;[[NC#>_J7;GD:PT;= #WVPR./*Z MH)92&75AY0KS=1:@(P&/?NO'%I-'$$+%[@O"VT*Q%#G=U7^3C;_D1=94EP/4 MH:5C*&25A914R@).[T)*D7>2%W7-;M(JVUURWSXFWWXDZ[FE>#/-!@*Z(>S; M;,A#8 \BZU"(*!MF]P6K**NC\!L?=[2+4=0P(JJB+)"67!N"SCTQYB8>QW!M M]J("GP\)J(Z8L/X:]%"N/A#1DUK,#B@R69&'"A%H$]>:V>2A@+WB"/L GRT& MIQ45M6B'>1-06&!53<#$\1;0QQM;"WO*)UJE8%\F/*-$I*GV=&WP9QPVQ< [ M?@:=>1IFXGP+]ZJ%['T.:C"L!#%HTNEB!DB!&7$^:^9.!QC2P4P+U32BW^$" M)R^80X.#XV4+IC?OQC,VFX!]YI!*G:$1Y$XFM'YX[LS!,]HEZ9YZ*VS+I:T@ MB\SC6P'/'+MG*] ? \,5[,0C!S$#3IGMN'OLQ!36#J8(F'[0"_Z8SO?<";!> MP(YT,1;I6!/;L T>6)6X!T/^:<6MT#\.XY+N^!RVWT.\\PX[D@%YI49 MN>S$!@JG;18A)\>*-E4"8W_E=H10(=!V"=V.I&YRGS* B9D%=AJ#MJVMH*Z\ M)4*O;M/_ DP-A#L M;+8?IQIU\PSHK/.81O7B(+]_5@]8VX8U76%YI7]?93IRB]VO(RQY;*E&W )0 M,C+DFM/6"LKCIAMY*=P='U*#30AH#JH!M]LL_2SR19P<^4^351JU00Z#*KU3 M*;LF;6"G@/@]>*&H'57PF;:>"\,K%05"5'G(QPOP=.:#/Z49!D5Y^!7( AW- MB>U4KJH$%KK-O"G^\F#09DTUF.\IT-0RI%(==*F/X1>(.PP;B $,IX0(EHD] MXQ_LF=E9F@/=J!5;ISUG1"@G(-I=^@_\Z'26831HEZTG)_M0Q6#;&P?8=)4? M8,@0!](?^ $=FRJLQRL.9=T 'JI,C-1 O?/H,_ VX'C"WH$NH#UU)I8@(K[X ME]KBI9/+=M6S<<_?&]D-1U\>LNAW^/DZWHOPY Z+3(UERL*&AUTAMH$,> T' M,N+5G/1HA88R,=J^H*7D;7B:>X,U>44Q9([\N:#UR)>[WD@]ERVF(YF M[D .'F 4"(^*@)*=C2;@[J3974@YS:/YF&)&CHVC=$S?PIUG@_=OHX$P&X] MQHII"&%Z:V<^LSP7(9VZ(Y@,T:R.+Z/#=3:>0O ^XR>,[H@6,?'&!79; FD! M8\I<<*W3=%U3-<=-T529Y-@5)S51AJC@X3ZRFD*753#X_&7L _%>+]^:. M)O/O!\AEE/R)*60JXJ73D3NA'_7[3RD&"#?B<';&%S5.2?.#%<=22C4913&'X)/7L2HT,0+)7-%>(O];4X51+ W MH!L_"2DG"ZMXL8#4:%&C]$.\Y"FE;CKKD0QZ#NWQTH'XF.X74-&D&.]"]LH< M\4#'G4E<> XX1S,/F'"^&$TFE;APP4JR)T)<7&D81<$QL28+%!&SQ.5F6S*V3[PZ M78+5'8FIAEMT6F(Y*J_CH06:15Y-\<^F7GUY>7_T]*:K) M)>5Y&BXW-"9J*=NF'UU::NI]#Y[=R)ONT%)&8WD!E*TF&7GBMWGTY\)PR%1Q M\0!G5^&RZ7N?\"SMX^*R"]9]EH(=853S6%;B9&3V80E$%G)O\6Z_PQ6Y.339 M(!PE!>WO.(?;!.Z65Z0]VL[ICP;P7GL>(LD'RE$*0XDO3TC:E%&%CW-K#&;U M\6#W!HA#>UEKYW.4C8LYRL;Q;#HXV52%_J*9K&K9A5&X8\>!G#L9F8"O++R M]B]4K)HJAQ^1, &%!9;YLK\ J>6!U&NR)K7D1Z_J2M@HER6S) >KL)TLW^HX M93>ND>=\-!;I5828(C+I>AZM-XX(>+9C1;G!8K;ECC#?PZF 1 MN5N)DMRLE:XG/9-0R;"' MV*8^(Q.$2TXM6&V=L:/3]V=OCRTD*\QZ OO6357S$6F3ZK-E?TPO@:O,E37( MXSI^"VP!GLHRK%*W,AC](1$-11'C?_JP&IE3>Y %@CD%=PWHLI $[O$R(9_\ M&N,Q:OI[U7EVFJ*,PLU6:R2#E.8M^-U+HFB92V=?<&<=WN0UXYRMJ37F]?&\ M0ES;USAU7:X7QA% 42W<7"[8KF?GZ.,UXA3@D\Y 9#S(S2OOP!_E0H::<$@I MN]=6L4-9^;ZBI Q/S^7R9%9E\(B!Y)&72DFV3C*I$5Y$HSA\+YH9P;U],/#$ M[DJ8?N.M.QC+ 7HQ:!Z? '.)^T@XU4/ZRN4&&MC@^MIS#'.Y4\MS M; DV =.+ #J.H-=C'?DN-;413UZY#@P&KA28EEF('AIS=R=4#+4&F.\C-]% M@FE=+$0+JLJ)@\KR]@NG=\QE0 ULQ90J&%S'MIQ9M:=C7FPZ!M3!>!P)>'#B2G[03RL9S!B>W**66A:Y6POON$P46 M'^&!_2)^]^BG?[IS"NSH!J6'CF!^T(6_U+9MN0Z#DM\ZJ!]LL,2Q!;I"2-3B M_D(#]6#6;!9^JZ'^1ZJA-EN$^Q91=U*:2DVOJ"9W>$'B21_BD63TK7[Y6_WR MT]LJ+.^5'W=Z25 M\F/87TF&_*YK5#OWY@RKI^IV%ON/=@GFDVS'MPK&;Q6,O^,*QNX2\;RJ#N0Q ML-,T(0\))<9;R8*8D?QB/OSM%/#M98@JQ5_R7L\OEE3_=$5O9F3W5;UUX[Z_ M_,T2)546W@C!XX./W(YO)5OMDJT^-C!N"U;I6,WR.HM$MTB"*HGGG9MD1+K!H^I/(VCV#3#^RH5 C\1:7ZG0KRB;?R-5/IU6B?GRX NJ MM7@,^KY5N/R*%2X'U#-T$D1'7@\\J]=ANLK\[3I:\N]]^AH"Z9\DY]E&ZD6= MD13Q.QV?3Q"W^ZTD237\U'?R7LNZE^[+O7DZG3;A_+.HA9'!]"=%[&^DBL#L MH^[*B@Y)2RBW/NDIS59WD4T]P]O5VU_Q\;RZ(3SA)J?%^F]A/B@!V7./]\XT MXQYWZW\Y% >F"04*B2!+/][_[FHYO"6_@N6-O"L6QA3WQUK,>$-]^YIH0\K& MV.^PI0T-SQ1#MQK#3$6]2\\,Q[)CI\7/]S[[@3\[A^*D M2ME>-5*V7<-Z8MB9'';ZF%'W0/6T R6[!]Z!ZT77'AXF$Y1,;7TQE3$S?+A< M:*9Y-2*T7>W+>S'M:WBF?6$I)H)UAT=FA+4W>Z2&#TX(-]XT+KDVI(%]+1&L M8E/-(=?M*EK8%]WJ,&\2X#C0&S+AVT5%73AYIZ:>42>][SU&(W4G2S*_G(;C"1=R83>9U*[EJ: MKG3=>HHW9>,W^%Z7MQB>X/7=K>QWYV"US[5O#YC^=9VX/,'$)3;??\(J&WF) MV4@+[[5&GCB2DJ=G. M5*19KNWW/1%Z(K*1E#Q:=*<+.V\_T?.%CT@.]IK^ M75[46WZ\Q?RMH'WYF7.SWE'[-@+QU;!:HK0$\27XI!ZN\:0U;D" M59WM]^5J=&"SBQV?8!UX:H=.-%(\@;,U3XQ:>%0F)"V)H&L6_F1DZT'9_BAU M-:#PWHXHMJ"M>2KLQ:^PW!H@7*+X1D;U6]-!9AJ^H6IN7.R>&>V]ML_8OTYL M"?"IU 8%^4.(L4QY-,P2QU([7-@GG$=L',H,\9BSM=%?DZX6.(/" 7#'1@_@ M4$3NX1(\ :W0+_9'<06%)%GC2A^S@!VNAY9%WN70[O"R.L?; YF]?7>LHW$? M!)?N._Q%PPC(DRA)@5]O^)40[_B5$*?^EI0RQN]"W"8\K""BV6+GP!ZFZ[,N MHHW^=:6VB:^_>,(/VVW7A,[$..5NS3EL9$GKC'9E51@"//77R]6ZE?_4 ]!Z M%8KZM79_9WOWL_1H8O5EB7157H?F@SEJ*/7H%\^#[P.3:/M5X%#*>_: I&K] M56!1/2( [V:XC M5:[) 798=KQ&R_!T-GZ4J-04EK9MID9[J#_M>U4[*;O=R4#6YIO.'B\=O^84 MQI*C ]"@]/N:8/9)N2>;9!\*U*_!4DGO *-(+\S:!^V&\J_'=?NU\;B74.Y! MMD%F.;K,TAP59V8THGEUUY.LHTBKM MJ!GHKNYJZEQ(1[F563\<5BLU["FC M.CB&)2*"?9E+60]U*NNAZJ\?/O3+R1]?_&0(47]!^9,A 7MP)91Q$[7K>KX@ MFZ[<[%/EGU[R"V:ZLNCGU;TV2NJ8-*@I(!OJU-G M= F6;7 )/ZAW_^ 88FMR"VMQ>)++R%I]56_#ZM:15WJ!VU5]U8CL>3B_]Y0R M@3)HU@3)63JYN7J-=8_2C5.QS&Z-/C;M==7NBS^/6L*M"[RI< MJ?'[_==TT:ZSJQL\S_/BI_\#4$L#!!0 ( *2"I5!#QFZ710( -H* - M >&PO+*<.?WUDRR_)![KUJP;RY?H[CG=G%-8Z2V#^P) HX8S446X MT+I\YWE54@ GU9DL09A()A4GVK@J]ZI2 4DKF\29-_?]I<<)%3@.1*VJR,<,JV#IY;()%,*J3-R1ME@46J1Q<.G&TJ MN-]U-WT2Z#TKD#(V")QC!\1A2;0&)6Z,TTYNP1]"J+-7V](HS!79!O,%'A/: MP1192Y6"&LH$N(?BD$%FY2B:%W;4LO1L4&O)C9%2DDM!6@U]1F<8V@08N[=? MS)=LC[O)D)MCC\3'R*KH3;/JSAQ/S6\E[[(Y[EU:_R!>5-*-U!]JLQS1^O;J MP)V"C#:MWV2# ,-.RI)MWS.:"PYN,;\L&!Q8, Y)7P<54M%'PV>O2F( 4!AM M0&F:["+?%"E7T.C^.C79H9KG1ZCYI?+(=9JX$BPJ/] M&5):\[=MP?$U&W\'4$L#!!0 ( *2"I5"@^ISHZ , &&PO M=V]R:V)O;VLN>&ULQ9E=;]LV%(;_"J&K]"*S]6'G W6!+5D[ VT:Q$%N!UJB M;2(4:9!4TO;7[Y"&UZ-L.NB-J2N+%"4^HJSWH:CWK\8^KXUY9M]:I=TBVWF_ MOYY,7+T3+7>_F;W0L&=C;,L]%.UVXO96\,;MA/"MFA33Z7S2&@V5H>))BE?WZFW MBRS/V$9:YU>A[]BRE5JV\H=H8LGMS.M?QLH?1GNN5K4U2L6CPHYX$/3@_JUY M$M;+NM?0\_4#!]9%-I_""5^DDVNII/^^R.*V$AEMD2,@)R--Y+<[1#D MG("P<_H].1K9[*QP<\_;AOB 8+Q(P%L#X(.H81'5M.@@BO078 M'N0E 7F9 +($R#OH8*EKTPIV+VQX:%JC&8*\(B"O$D!6 /G)F.95*L4XA/I7 MOP/0I?8XRZ=4F$\38,X \R.7ECUQU0GV17#7V?@(84S2.2>63L2< ^87;I\% MN%M!G(NZL])+X3 E)9W\Q-:)E!= N=0OT-+8[YB,,DU^8M5$LDL@6WE3/Y^O MN8.@#)(1VD%KC$FY)C^Q;"+F%6!"[G1MIV*>'YZ9-T;,*=OD)];-(1+/!-&LQ#9.)Q_$WM@0XAB1LDQ^8LVLY%9+:,O?* 8<7K]Y MGBG/Y&.*IC>+S"G3Y&.JIH=94*HIQE1-'Y-233&J:O#LHB!?<)*[AIT]!ECW M#B-2TBG&E$[_AE/2*<:43A^3DDZ11#K_&^OASF-,RCY%"OL,9F:),2D#%2E> M= 8SLX=)&:A(8:!!S IC4@8J1C70#"^W4 8J1S40ONDE9:!R3 /U%Z\H Y4I M##2(V1M-#V=LE"5PD*#F%<8D[)0 ME<)"@]-B'$@59:$JA87^LQ;#SF[!2%+AI82*LE"5PD(#L_=S]H QR8\]*2PT MB+G$F)2%JA'?A<[99XQ)6:B*%IHPS].V M*F.QK>/@>-B7<9X5*=7/SL5E$0YY?*KJ4+;?K*OFD*?VM=FX.E_N\DUP.AR. M7=.=D;V^=&<.%JMYUBQ6D@T^\V83TCQSQ[W[KII=+$)(T9T_Y*E=T/[D5(?_ MK*_6Z^TRO%7+KT,HTY6*OP69NQZD_4%*#[+^(*,'^?X@3P\:]0>-Z$'C_J Q M/6C2'S2A!TW[@Z;TH%E_T(P>)$,@XY"?A+#F:RV :^%[+0!LX8LM@&SAFRT M;>&K+8!MX;LM &[ARRV ;N';+0!OX>NM0&_EZZU ;WW 61L=MOEZ*]!;^7HK MT%OY>BO06_EZ*]!;^7HKT%OY>BO06_EZ*]!;^7H;T-OX>AO0V_AZ&]#;'G!7 M@BY+^'H;T-OX>AO0V_AZ&]#;^'H;T-OX>AO0V_AZ&]#;^'I[H+?GZ^V!WIZO MMP=Z>[[>'NCM'W#7C2Z[^7I[H+?GZ^V!WIZOM^_H'8N\":N/U&S+3;QWR<7P MFS4=N&,Z[7!E&ULS=G?;H(P M% ;P5S'<+E+;,OX$.#D($VK35Z=NOH"Z988F+FGPW(IQRS@T2SR3/E:E7YP=/N>MMZ&BECJC)5OM0-6S?94=/AOF%LJ>K6N*(T M[B8LB 8OF]#%A6O3*%1=Q$Z8<'QC>Q[N>UN3M65&_XJF\[Q,*=/IJ@ZWQ,Y8 M4IDKB'Q=Q:Y0EK)W;\MFL<\[5]:_JCHT9IN*_5H07R^'WU;4'Z"K7'*R#]N" M^D9UA=TG/VO@83>DVM+0V%"UONQYO!!I'JJ.M0LO^8C4;IV,LI.&A];7^V&_ MM%UVW_M>^$_1L>YPWEN_7 X!DD."Y$A 15:#(*E!D%2BR"A19!8JL D56@2*K M0)%5H,@J4&25*+)*%%DEBJP215:)(JM$D56BR"I19)4HLDH461,461,461,4 M61,461,461,469,KRMH=XUJ5S5])/K5>'N:S[L_%V3=02P$"% ,4 " "D M@J50'R// \ 3 @ "P @ $ 7W)E;',O+G)E;'-0 M2P$"% ,4 " "D@J50)^B'#H( "Q $ @ 'I M9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( *2"I5#09]MM[@ "L" 1 M " 9D! !D;V-0&UL4$L! A0#% @ I(*E4%P]JAHU P .@\ !@ M ( !]P@ 'AL+W=O;)A1P0 (04 8 " 6(, !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ I(*E4 ;[9:AX P =0X !@ ( !21, 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4!\1I*RR M 0 T@, !@ ( !:2$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4(&XF?&V 0 T@, !D M ( !*B< 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ I(*E4/_?4?.U 0 T@, !D ( !\RP 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E M4+]PQM^V 0 T@, !D ( !NS( 'AL+W=OU -2+8! #2 P &0 M @ &H- >&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4"6)N0.W 0 T@, M !D ( !@S@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4.>(GAG# 0 -P0 !D M ( !5CX 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ I(*E4*H/_'"W 0 T@, !D ( !9T0 'AL+W=O M4! > M!0 &0 @ %51@ >&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4.=] M<[C@ 0 A00 !D ( !]TH 'AL+W=OO@W;H# #V$0 &0 M @ $.30 >&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4*BSJU\6 @ _ 8 !D M ( !/E, 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ I(*E4!AE>U % @ P 4 !D ( ! M2%L 'AL+W=O&PO=V]R:W-H965T ( !4( 9 M " ;5@ !X;"]W;W)K&UL4$L! A0#% M @ I(*E4$ASEQ%- @ *P@ !D ( !9&, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4/3N*)T] M @ F0< !D ( !#6L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ I(*E4 ?A1Y(D @ 5@8 !D M ( !5'( 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ I(*E4'QJS4\C @ U 8 !D ( !G7D M 'AL+W=OP >&PO&PO !X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " "D M@J50)1HY/,0! !/' &@ @ $HH@ >&PO7W)E;',O=V]R M:V)O;VLN>&UL+G)E;'-02P$"% ,4 " "D@J50M&888KL! !D' $P M @ $DI 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 -P W + /,. 0I@ ! end XML 35 R25.htm IDEA: XBRL DOCUMENT v3.20.1
Note 9 - Accumulated Other Comprehensive Loss (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Comprehensive Income (Loss) [Table Text Block]
   

Three Months Ended

 
   

March 31,

 

(in thousands)

 

2020

   

2019

 

Foreign currency translation adjustments

               

Balance at beginning of period

  $ (7,018 )   $ (8,492 )

Other comprehensive income (loss) before reclassifications

    (2,980 )     476  

Amounts reclassified from accumulated other comprehensive loss

    -       -  

Net current-period other comprehensive income (loss)

    (2,980 )     476  

Balance at end of period

  $ (9,998 )   $ (8,016 )
XML 36 R21.htm IDEA: XBRL DOCUMENT v3.20.1
Note 5 - Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Fair Value, Assets Measured on Recurring Basis [Table Text Block]
   

March 31, 2020

   

December 31, 2019

 

(in thousands)

 

Level 1

   

Level 2

   

Level 3

   

Level 1

   

Level 2

   

Level 3

 

Financial Assets:

                                               

Cash and cash equivalents

                                               
Money market mutual fund   $ 31,291     $ -     $ -     $ 68,962     $ -     $ -  

Total

  $ 31,291     $ -     $ -     $ 68,962     $ -     $ -  
ZIP 37 0001437749-20-009449-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-20-009449-xbrl.zip M4$L#!!0 ( *2"I5 #4S#1:@@ #I - 97A?,3U< M;7,:.1+^'/^*/F]MUJX"#-B^> &[BMC$<6UBLQA?[7VZ$C,:1F6--)$T8.[7 M;[=F>+%Q$F>S(7A#/AA&(ZE;K>ZG'_4,:<4ND2>MF+/P9.M%RPDG^0F_^U_M ML%JKU2IXM[67-^+=?Y7+<,X5-\SQ$ 83Z,>9"KDYTPF'KC:.22C#P5Z]ME>O MUJMPU#BL-0X/H?L>RN635L(=@R!FQG)WO)VYJ'RT7;0JEO#C[4B;A+ERR!T/ MG-!J&P*M'%?8VW')TU@K?JST]LE6:R_7N#70X02LFT@_7+ERQ!(A)PWXI2\2 M;N&2CZ&G$Z9^*8%O*8'E1D1-\+VM^#]O0*V:NB:D+ R%&C:J0D&E)E23Y*2/ M3?ZYN>=3^YD39H9"-? KO*K4L<'Q.U=F4@Q50_+(H:"7:F#39FLO/=GZ]C*- M&,8DM#4XZ=S%8B <[-X.3;:'!P4'FU\F77ZP_7': G<9,O_+33ZU^\ MN3AM]R^N+J%[T[N^:5_VH7\%O9MW':CMLW+M8(?MPE4/:H?A].(-?#LK?5KA M_ML.7'=.;WH7_8O.-73^.'W;OCSO0/NT3VK5?MT_*'TWY=K7T#Z[ZO8[9_=, MB?IZ\^Y7Z]_==.W>Z_9EY[I\]<>[SG^G5JM7J_6U='MX^2'3KOE =-[X62 K M5 !_L2 ="O$7)?B/")PV@L'["KS5TI4@X,:): (N9J[Q(]DC;Q&8QY1K0)TT MW#ZI5> "8C;B8/A(\#&F.Q<+"[]GS*!?R0GT>(H)#[2"-YBU4%+Y=] 1=(UV M&MZQ >ISH8+*6JUJ_>Q$K$ FPSH!-,;;HGOM]1!\8!;R\R$ MNB3LEJ/ \$X%D$,-J,_\_%C;G@Q M"2T@$58B<4&: 6/A8ER@39'KD'2:-T75=(C+'.$PS[ 6S+!6&[=^KK3_"5?B M$ F%FT7[/M^<$OH1=L?;9N&^4#D-1?Z)WP.9A3@G.L#"3I30>02!0(K[1ZY' M+BGEW+>*;;4/1*/[AH(F+E&/3&('="B=$J'&5NOU"9B-(9)Z;*?>9OA06&<8 M"F+4F.N-6I86G,9.E5G2=JUV:?W\YJ""QYA%([_\Z:A>>]6TA6<4B9%"5D>1 MP$MO_@M@AON-QHT3 \EI0X"C=PVDL#%UIVX)PA5!%EV'P@92VPS'$9 9+?,= M3XT.>(C-%G9P@T..'I/O8N<.CTMJR*&-&-'+)/;PS/1PA^_ZH9Z:TE5^*8CT MJ-S3:'X@(%EPP-PA2)KN+A MD4M9'.IFUS9EP?2ZT'$L0A>CS.K/S47_J#:_0GD\.K[8>H'G:8-?Z#.<2AN1 M.P5,%@MQ.FWF"OSZLQ^%G?]>ZWW:;"1OSX5/UG)_=5JRW;^DX='1ZE0\XQ:O M,(1\VO]\?)>(D00LLT\?0M1@P#%6"TDYV="9P0D0^4?"^GR"O;CR\Q"!GV>B MQ6QFN&0^^ NV,0_@4I'IZ*; K(2Z6"U%Z.L\-AM8$0IF!"U Y)S(YU=%,V66 M>(K'2NM)C<\^VG)4R&&VHT$IH\W*)*.DB!XN.2Q^4GAMX2>%_C< GOTGU6LVP/// I[!)Z?])?QY.F%X,@PA=(U$ M2.C"K%8^-)A%9**S$D$.,^$T_!&0!!L(*=R$N.YC8@D,/5)X$,AQ[%[7A;.6 M)V!WQ8+2S*0(0M9S\R# X/0*^%/7T->P)6(1WN$I@1QUP1-ECC<(AB)%#K1! MG WBK$3+8/T1IS-B,O-\@,*11Q$]HAEA(-E'SJFS(]03^$U^^?C1U0,,#D1N M8O,#\D!G[N,:/(6!L5EO3J?_Z/.%%QA,ZPH>,WEN"=2G29-O,&*#$:O0,EQ_ MC#C+PV\YC*E>6Q08_)U'L>(+N @=<7009(:"=>$\\WQ$/SXZ9GHOZ@[!] 3A_O?!$*% 6Q_!G#(SF#A3C0\EG*^"AB M%,=K'()AC]%3RLFP)8MD":X?;>$74Z3J1Q^$;8CN!ADVY;<%9$ ^&QE,OB6, M4^[Y D:Z?\!?0$(IIX-"C;0<<>*$B@V+]Q1,03%XDDH]X7AW'.N<5[![@(, M\;<0YLJZ,L%G'KH'_ZZL\G2%KM6 ]VP"AR6@]VN_($P&VCF=%&I75ZGUUV#. M6NOY3$U:6X&>TQ>,7T\:_UR#YJA5SK5N^,>E4$OOX*>J_]><8L1*O7C/[BV] MV_D1\%]CI/M18G&=]7RF)ET%O/U0)ETM?FVP:YU5W6#7!KN>DTE7BUU=PZV@ M-!1D^IX2I_B+ !M'52=0-H&T![3B9=+:#M=/,WX9AV)#,8) ,FN/M]^UK_OE;ON\4W[=Z[1_HU^1+]SMGK_I]QZT MQ5'9Z/%R(U4_H7M^>?-^+@U[T,_?%S^V6K&Y7QD%7QJ%F%,AI@'U]*X)@9;: M-&;E"1BPX'9H=*;"\H-;>66C 4HK3K^@+:2@./JU/5[[_S/@3U!+ P04 M" "D@J50A(3LME<( #?/P #0 &5X7S$W-SI^)^6.09@P8[E[NYZ[N+JW7K8JEO*WZ[$V*7/5B#L>.J'5.H1:.:ZP MM^.29XE6_*W2Z_MKG:U"XDZ@HS%8-Y9^N'+5F*5"CEOP\T"DW,(I'T%?ITS] M7 '?4@'+C8C;X'M;\3_>@D8]VLOVU1]:$UQ]S[=IW5BX: MG]Q:*0'XB[G5P8BKA-;O!/N]FT0$PL%VH];L; 7[GQ+FRQ6PLU-[LU0:"-&\ MN"E4<-#K#TZ.3@ZZ@Y.S4SB_[%]<=D\',#B#_N7['C2V6;6QL\$VX:P/C=UH MJ2R!F-T+ MZ!Z>G0]ZA[?4BY)[E6_7FTNDSF[_7?>T=U$]^_-][S\333;K=>\>3]OK-^0D MY?(G%?B73A1T:_ '&U=08\:)> PN8:[U/:FB:!$8^Y1K09,D7-]OU. $$C;D M8/A0\!&&2)<("[_GS*!AR3'T>89!$K2"(XQTN%+U=] QG!OM-+QG H1RZQ QJ4SHB$8ZOU\H3,)A!+/;(3:S/\2EAG&"[$J+&0&Z6L MS!F-G0AS3]JE.J7ELYN=&J8^\TI^_>->L_&F;4O+* ,CN:R.8X&77OTGP SW M!XT')P+)Z4" HW4%4MB$NE.W%.&*((NN(V%#J6V.XPC(C);%B6=&ASS"9@L; M>, 11XLI3K%W@RF6NN+018SHYQ)[>.*ZN\$W_5#/7.FJN!3$>E1A:30_$)#, M&6!A$"3+LQ>*;RT4XT*TS[MFB3TH6OZCQ($TSR'0!M'X[7H=$TXN99D(3J]M MQL+)=2GC2$0NP37K/[7G[:/>_@KA,=U\M?8*,@M7J$+^;#_M']7 MB)&$++?/'T+4(.#HJ^5*!=G0N<$)$/F'POIX@KVX\O,0@9]%HOEH9KADWOE+ MMC%SX$H9Z>BFP*B$LE@M1>1K0S8/K(@$,X(V( I.Y..KHIER2SS%8Z7UI,9' M'VTY"N0PVM&@C-%AY9)1T,1M>2%F? ='%.QIGO3AMX!31XQK.)Y']PP6/\F] MUO"37/]O )[M9]5X5L#S;0%/\-* Y]EA_Q[^/)\P/!N&$+J&(B)T858K[QK, M(C)1KD20PTPT<7\$),$"(84;$]=]:%D"0X\4'@0*'+O5=2[7\@3LIMQ0EIL, M0 )]U7?FZMT0LPCL\(Y"C+IA1%GB#8"@RY$ KQ%DASD*D#)1S38YTA.I)]($^=IE#/X#?%Y<.IJP<8'(C^GY5#2& M*;K3QDYIL6_ *=-4.,?Y)R)QH)%XT_U(H'Q^D@VT20Q\E@(K?E*A8.)(_&,N M4'SO-+GR+W#8S55U;Q7.OJ?J7E=B>HG7 MV?JMQ4+P\%1W\M:>NTRC;B[)IX M:)%N>B;J$V7_ '+R>.>S4* LB!7/&!Z(&2S"@99/0\:CB%&FUS@$W1Z]IU*0 M84L:R5/3$"16[*M]3,"7%X&DF]9CCW5&B"U[!;@$. L1?0IAKR\H$7[CK M[OQ26V1VA:;5@@]L#+L5H'=R/\-- NV<3DNQZXN4^FLP9ZGE?*$J;2Q SLF; MR._&K6]7H05J50NI6_YQ*32R&_BQ[O_:$XQ8J!5OV:WYUSH?P?TE!KGOQ0V7 M6P]$TZ3XK'A:L(&R9 M1%U!V K"7I)*%PMA&^?%&V^(7O=P[%XM=EE*AY$80BB9M6_7WWGEQ]FJV$/^HWZ_,=:)S&W M2Y'@:Y&0<*I\M*"9W;0AU%*;UK0> $+KZ^,SE54O7.K*"6T0&G%Z3>KY2JX M'/TD'J_]#_O_#U!+ P04 " "D@J50(MU@^+@$ "Z(@ #0 &5X7S$W M-SO9V#CH/PGPX!]RJDDBH8P78(?SWE(Y9Z841@)J4@"!C2K MS6K-JEE@.PW;J6W#Z @,H].>444@B(G,J-HISU5DO"NO>CF9T9UR).2,*".D MB@:*"5Z&0'!%.8Y6-*%I+#C=X:+<*;6K!>7V5(1+R-0RR:=S941DQI*E Z]. MYT*U?#:C&0SH.8S%C/"BLP)Y=P4R*EG4@GQ>QOZF#MA6JEJ0DC!D_,0!BW&P M3)OQ%@1SF0GI )DKT=(,TL_!OKX!^/H&UA54CC0C\H1Q![_"EEG##D47RB ) M.^%.0B.%0*_X-$M;[6K:*7T!\UZJKAA WKB&#I*=Q!J_/>UXBYA-F8)ZS;3; MU6GG:V3N;H!&P]RZHP6>!/1AS!Z@MU-9V+WKC?U^K]]U_?YP ,,>= _Z7@^\ MCU[WV.]_\+ +I=X8W,'>2M;K#]Q!M^\>7LJ^M6$/K\;H>#PY=@<^^,,U8&._ M@V-S8G9-F'C=W+!VO6E5UH"9.P%W;SCRO3U8+Y-=&&K;^D5[H7_@P<0=[[H# M;V(,/QYZ?X#;];6D9EFU)^+[Q*_M"KY?@0\L4$(R DDBDJVN>!";AN#R,OZFB\1YUE M/C-B68#1_+18 "B&^1".B QBJ-L5R.-[-$]PY4#,TH2A-<^9BO.YDI[.F:0S M]*%,(UZI^(:\!02PFV_"MY>*4(RM3.D5O 6F!_R$7FAC;]<;0'A8*,1XD2#H MI71B0!A'3ABBLSFRNJWJ)VH1ID6II%G."F>1),$-Q2D,]<3^%%EF*]TYX8'N M1IB0Y8":!0Z:)X5*(M5)$ JRSYGT1_7_/32G@UZRA&;A(D\9M169)A2F0F*" MNE.V,)FD2;)*[2[;64J"B_:*XSD+58R8ULL"@:'K<^58K7N0+^?Y,R;8$K_H M9WB!=J9/!WS35HHHD;8* LTML_XRGXCC_UL#?MUR&J^JPN\FVC#MQ^.YNW3^ M!DKW^NN;-7 MK/<9^(0./,+DC^E$(,\$NS&C$::KF+HJ=D9A&$4,\_PO>'4)GSH96:\?,'X< MT(>N^7X5,0?7A-_)L$OE-I7=_JL_5 M-];J7-P4>0_"M2CK>I?YX#W+NL?+_4)V!D%"LFRG?.A.?&/D[GO&[MAS?]-7 M%:Y)1_L]?WRC+XX,*'-D[5U9<]LX$G[?JOT/6+UL]@&69">9V!5GRE>RWG)BEX_9>9N"2$A"#05H M0-*V]M=O SQ$2A O079DL2H54P0:_:'[(]!H\/C\Z_/$0X]4^DSPXTY_K]=! ME#O"97QTW'FXPR=W9Y>7'>0'A+O$$YP>=[CH_/KE[W_[_ ^,OU%.)0FHBP8S M=#\.N4OEN9A0]/OI[17"J-<_.NC??$/.. BF1]WNT]/3WM/!GI"C[GZOU^_^_OWJ3M?MQ)4=$?) SE*! MYX'T]GSJ[(W$8SF M>:821[*"R8\F:(H'F^;6T6TU 51A5JE"G:SDCTA0<>=0<:?_L9FSEL;\:@-* M(J6/\%R^'HBET;WB!90(J-Y_6-<+S3Q@R?S&V*K:Q9*53'^M=;E O-#T>DE" MC>A:21M:^V)1]NU*X8'%Z4@%U-7\Y$F9DVKBIY5A5$.#K#8%X5P$NC%]+CD[ MG3(^%/$I.*FBE*,DY+VE0Z3CEB,B'=75XNBF"^''E,J @7,S4;-N8"SI\+BC MXE.I=S>$ELHH(QQT?[.S1N-'6[ M R).Z&FO_*2=Z\H>GG 776BUZ'*N]G-W0=<2C-"G[C7_HH\7+HU8.*Y1))BG7W6Y M11>;)>.SB4^KN=H1W!<><_4L,2">#LC],:6!CZ-)-4^>Z0P6\!ONH'1 MJ)926SPZ*.)16N C,82B#"*8O10B]*X=EPK=Z(_A AL+SZ72Q_2O4,4;FZ9. ML4Y;S'E?G3EW&4#_1!<:4QY(Z>EWJZ,P[XR-PB^!P[$07R-H.KZ#"EN]_,?I>Q:RW&@(Z22$ M";(0=IP&!YC3((GV8"VAPL")X-&4OC8#BENWY?Q/1N>K0/,'#9*X$98B*J $ M[5%TL.-^?X]'0KA/S/-T8DK BDR"HP+"1VS@44Q\GUH8 BJJL<6$0R,35.#X M+8:! :Z5C" & D,=*)A[#@E/N A81(_$B^D>$*),J&=B6!URY8$+DGS0@ZB+TJ1-*IE+V:WMZ5;NV_-PW^EE%?M]3 MO>@NU;OC7OX%AMI'^"7D;&W/9MNRY9Z-IQ#WZ"A;-PM,%S&EO=LBWO'AB]^TFOSD$SUJIUDB]1O>/./E0+I7"B^D236"F?E053KC]& M5U1CBP;OC310D=K)'$8\EJZ> /%N8GQ?;L^7D#^;<2T\/ MY7K]=:_T[;HW^Q 3C?1O2=5=2(R/UG>IJ5%;?EV14]/[RI%2=)LHW5WG^FS$ MV9 Y9"'7)3SF0!2:'JSCZ\HZ;+E^*:5V-T>02Z?%BM&[Y&C7$^B%62^LURCK MC^25E-CB0J,,&WIWKU'L.AVJY-EL$62_QUC*E)$]FBQRE"BSQ8;]V M/JZE0&$"S18!2IJWY?Z::;K6^4LY-EL.-S1IR\D5LG>M8TN2;;;<7*K EM/K M)_5:#M1)N]DB1#UMMMBQ7JZO9$P@;QV:+<^9$95F& NM1*$:O;A!4 M=PHZ>JEZ'J%?%(\S&^<1_%UG;<5D0^QL'-#G("3>2^4X%M7:XIKY9L/JR8Z8 M/.@^PM62J)(WE\]$-8,QX?,6;(UY&P%EBX#F=&QE F+#N:CN/<">M]&.<& M B8H538#5P^"7,V9>@@RD,11<3[.U-LL/^TAM$5:\UY!$6F35PK 4/IOZ ,. M1(H.G4,OLK4',_609](+:#*NUS)Y>1-H?F2+A<6MVV*0>>,AO]N4VWEJ?5^R M,V0[*U-=DRU.F+<;BC>CVN1+1:?I\UA,]0\86=FCS:FKJ5Y;U#'O4112)RY" MUQH:.HFAM2--J4MA"1=.M-5\K-3!-(%AR:]7>^G&@8@K;)YAC>#8(IYYHZ*$ M>"=SQ.A!E3.. +%>;:9[%]=QA9:/900 Q8%D3O1>DOEH\Q+<*U5MBV?F38H2 MGMVFZ')C7] M!L?6!&:+B.:=!!O39LM6"VP-1+K+I-F13^:K,]2?3E^#KC616>+K>_,&0EV^ M!B+= =/$S6\QJ#,7=SVQ1L*MD.005^CP>-1;=OE&LE M.FV1RIS\7TFJ>/A:Y%3+G@)/JCL;/)CKW>0F'!@N1E2,))F.F0,51YG=GTUOFVN?NXJ>,XC/Y3Q[I#Q[% M'U=$P Z]=W_<"61(.YJ>ZBLQ?YP)"48&DCQPXGGJ^TO4/>'N?\B4\-@/W^ED M0&5'?\[IN%-'@'F>FD<2I7X(*%@0*HC?I BGQQW]TTML$;=3L)X"!:9SQ50 M05(8(,YI_#=4%KL?T^@K%VG_+#;8R#Q@&U"AWGJ\OG$F4T_,*-4YBYM0.F. M>>,1?@V=5& 7NEZY>G.>)KCM,S547ZXR#BOFHM?G;L0P%=+,274ZFT\\)T K M_7B=6J6=PGCX9]*C1I)K=#A(FK'NMM63P9:,^BJTN!?I[<+I!PKB8.$^R2!$ MG:I<^Z>;"11RWP3=S_9M98TMZL])+%+>KTS-U^I?VI^;:,X@(WH]O(^^:QVJ MB^8,+B, =CT\I:#F@DBN8ZK?5%:=CZ[$$Y57;,+2WEIH9X/37O0-YF #EGB8 M3JU8(M?.*UOBSAE3-U10]7.O>M/BALQT /I$I*O_\W5V6#TZIN?]^):!=(\M MLZEAGHLVK>0UIZVY)=.N9?=\3J0D?*2KGL[,O8\^7G0)SI(Z\)\;(K9!9O_R M;*Q:2^WZHBK7&+\4"'^;+/Q?RD9CM;1\A-AI1+^!BN 1F(PM8;O.G"Z/J]:]F1K*) M">NJV'*+-MRD:F+9IJJVW,+)FWN:F"R5W1X;;/1--B4VW*SNM^*#BH2LV,CV M6&5S[W$HL>0&%;\YZ]=\S8L=R]=5^N:L7G%(J-O:]MAITZ_-*#'LQM6_!4]4 M)&F%!K;'&B_P$H(2<[X$@NWW1[/WDS0T?4-EVV_EBB- J?CV6*+DU0TEABB3 MWDX[5&2!461[>FS[<>H2:UE7MS.6+G@J;[,V+U+\)JU?]RDS>^:OK?DMV'\3 MQ'[KG"U_M4!CTU5H^BU8L.2],XW-5];N6[!=QGC=G MVXJTJ]O:5MBI^K<_5UNG1ALO9I/HL0W?&=,)@9__!U!+ P04 " "D@J50 M8.CGBF,, !^IP %0 '!R;&(M,C R,# S,S%?8V%L+GAM;.U=;6_;.!+^ M?L#]!Y_WL^*DV>Y>BV87SELW0-H$3G+=^W2@I;%-5!9]I.3$]^MO2,DO242) MDFV2*18(DECFT/,,.<.9X9#^]/O3-.[,@0O*DI/NT<%AMP-)R"*:C$^Z#W=! M_^[LZJK;$2E)(A*S!$ZZ">O^_MO?__;I'T'P&1+@)(6H,UQT[B=9$@$_9U/H M_'DZN.X$G<.CC\='MU\Z#_=GG7>'[PZ#P_?R)_CM4TR3[Q_EKR$1T$$F$J%> MGG0G:3K[V.L]/CX>/ UY?,#XN/?N\/"XMVS=+9K+=Z-T1;#9^'TO?W/5]%77 MC\>J[=&'#Q]ZZMU54T'+&F*G1[T_OUS?A1.8DH F4B*AY$70CT(]O&8A2948 M:R%TM"WDJV#9+)"/@J-WP?'1P9.(NBCU3B<7'6K)I#]E.80I)&B0LA>#G8,Q8]$CC., !#E@Z 8[@$-N8 M#F,(B!"0B@!$2J=RG ,R'G,8Y_].&4_I_Q3F )YFD"#'$:2$Q@+EHMB<Q*E8/@ER#3TJ9MM/Q>/_7-*$ MIG!-YQ!=K7#T%8S^!L,7.;_]40K\WT#X)1(LF4;107S2W6&/N1ABJ7*,%T/J MDQB^X@C=/T(\AR\L22=B)Y+0=>J[,'8Z'=[:3%#\LHSO#OQ&9V\!_#U^_.Z& M_EEO;P+^(]L=^'5?7D'_"FESC!M$56 VEN@^#SN,HX]YTD4_]1'H>)(63FO> M#^'AJ[7[N7]5M.B);#K-UUED;[JD'W$V;'H!Q"#1JM-1?#N M1Q'!2]TV%<#Q#R* ]EKP\X\B@52^-0K"]UV'QO_$DP) M_X[1EPS;!(09IRD%$0Q)+$/_@(V""<11RE!R\KT%AFK#]%G+11 B%$["-"-Q ML-&N39!LC1^+T;)E3#;#YC^0[WOVI>#G;L6QQE&J:V[?W]-Q=(XC4#S%5\J) MN4D 5W"6C2?2B$M3)DW"&>%\09,QZGJ6Z!S$/7V*K^+Z1M,)31")9'^W,C+K MVD]7NW;V,TLSQB?'>_=":3)%["^XOP8TF>,KQA<;_[5;+(WZLKC0->#'YB)U MM63E,V="MS25-[)O85=\Z-,-94T<,CH@CZA\P"F):X5;UM8AZ_\B<:848 " M^%SKM]03. 3QC?'O5\DM9R'4S^[2QGXNEQJ-9,U0^;36-4"D5Q130!M#%.P? MD28X-E4<+T>I#E/)2F'?GS@.$DAQM<6&$,R 8Z XG2(^,2$J6>G1$!T2Q:R<9]SDHP5G7Y]V57']A?2;\J@0-2? R=C^)I-AQA4C<[S MD /W%8>G1MMQ8_N;_#XMACL0SQ:3 MQ>IR&K)$L)A&JDIIF9L5$Y"53&'&N6R#MIRR*,@2DD4HM,A\B=RF=SO+WO8< MVES*^F$HTSD"M4DJV%G.H,9>53>V;X.7_ P@!#J7+,D\E1&$*A(G0'@F-[ZD MIW-/GD#4HJAN[PS"-25#&N=9U22ZD16-&X^JX9C1.H&63:5]@)PI7)UF'":0 M"#J'? RN,83!B70SPL'0@VS3BP.X$=HD-(4DOB44Y]@9F='UFIRR\+L.H3&A M U!J)UG'^+,W73%7H_)E;>RS>D;$!)53_KGX;X86-):.5W^U.R 3%+H"OD:T M#J"MYVDE"DTS^PR?PPAP.JR7@0UKJ4][&U+9AW.!?AE; +J?RDANL%6M&<9T M]B%]+LK[-9R_?/NO;1(MH_5.A!>NPG,71AF)"8LQS!32XJ6+>MXKR9P"JM9" MG]3NRZI.:+VY7 M@*D='&,ZUY &,M=T,WH0>0FF$1P-C0,H,KPJBDUK1Z2JK2/6S4],U#5W! MHS0:@$H"^R!N>>$CUP8#%2V=L#W#P'MY8J1(H9@$EPTH7H-$4&QDA#,IH2'5PS GM@S+V<=MYM>YV MM,IG/]LJG>'3EE0M/F.?V*?35[6H].&L3V>H:F$TMM@^G8^J16>^2].BC&O/ ML,KPE"=Z_+,&9;R;^9C^V8#2>;6]?MC3_G*U-W5L_--W[>2J#K]\.M:H!](D M[6**Z!>W0V,>W/MDA"ORD!O@&NX9^&2IS0"VV%+WR80;@ZRM1_')KINA:I+T M],G*-YJ8=:4KGIJ4,D2--E0]M23:M=D@,^>IW2B#M"L[;]E8-+ 2VPZ2#7VJ MR 0]-Q3MZZ5\4C,SN-5E)3[IF.'P-2P&\TGUS! VS>(KW#3JRY->VQX+:/,1#LX&M&?3Y@&!,R9P M@94)3#7[@,]I".(.IY9FGZ>>P$$=GKI[.D9^^M&4)E2DTG>:0Y$^UR QI'( M1YZ8O>5LI-TQ+&GAHKAPZ:1=HD$[8PFZJQFNE(7KBKIP"B/&82,6O'A"&:-M MI0GABRM4#Q5UR#N;6(S\C:^2%#@(?:WBWC_1E1B1V6+>G>*TU(]\36O[[*.# MOAX6#=.E;1S60!6RT[&K;>>0Y5H95[1T5":$BL:>,U5MC\V(7-1U"$"'2A8# MG,,<8J9V9*JQ&-&X@#*')(.E]90WYMQ,/)]G+5J:]#5$_A9U%+F%[ =#EJ+N&E_MZK4@#5U5'T*"]O"1)YG0LZ![<(IG,@KQ@9H.&Z2\CFF =BF"R<)YF>J<96\**S3IYK-Z'R"M#Y2 MT!C5:U)/@+THJ&LQ:M4]^ !S>6Y'?P&$$8T/4%0=40-^_ &Y"Y M\[@%R(H.O &YTK6V("LZ^&M+UF"C4 9J3?8(M>T=G%_/+ZH5EXP/8)9Q= 4% MW(SJ[],S)W0'JCA <\_0;Y!;1;+F#&Y6MN9FI3*Y.+C8^TZTH[S!.5WNJN8;>C,K. M?!J(IU$_#FHAFMCM]E;9Z79&4P^--4/LTQ[7=FA;)PM\VG_?3@2-$J\^G6+9 MP\CKDWL^'6[9#GA%X&,*\KVE[<>=#J\V66:*VL9U!=NJ M4S,5QS_?HCCJTORFX#_X#WX7>\/&3H[_/EWK!+NQ#&P5I&PA!,/,68O").N( MJS+*;.L4S!OP[DT%L%U4VL+'?S-3P3"MT\+??S,BJ,[:O04[4+5]5H+<-,_^ M!@R *7)[6;NW8"P:SI?M-BM\JO!M53C'MK(\WFG2MC)H7^OE4ZYL3S.AMI#! MI\39GF106P)@M119_&;!6:S-Q_>?W@?O/\D_P7__L^8)'_](O][1!R_$40D//_SU[?3 M-)W_\N[=T]/3#\^/+/Z!LLF[#^_??WRW;OUVU5Q^&Z6;#KN-/[TKOMPT?37T MT\>\[O+N/Z^_WH=3/$,!2:1$0DD+)[_P_,.O-$1I M+L9:%MY4MI!_!>MF@?PH./D0?#SYX9E';X74W[PI1(=8R&B,[_#XS>K7[W=7 MKV5!DO1=1&;O5FW>H3@6).5Y*Z%J"DX)-\]K_M]$R7/:(64/R2L?HG% RPXE<*4'QN*:T5@S3-;E3,1X+LT<<;)[8 MD&+%2#W*&(]1%J?MA?QRG$J"U]3NDRJ?-6O,LI M%IH@Q>)A:9#0% 4I4*5ON1ASN+'8#U&3JS!$)7D"S9)0J0" M^BK^7+66!/;!2$$%?DZQ4/DKQ;0F)*;AJU?&UZ^0EY%"U/*UH2-$7_,5U_&@PE"\WPNO<-QRM>?!,6.OR%S]?&? MYX2',>49PP]B IV*A_PU>N0I0V&Z1[9!#_MLW!=KXVZ]-$J(K&#'H*<#MM9* M0&@1?"5^W9]+]0T=$OV 'F-<1_"+1BIBMRIUQ,(WE ET^^M;@9"+O>87^=)P M].O;E&6;X5;;6$/0,V9TIB5AVF!QB"?;Y*\"Y!0LJA02K5/Q=AE18)^*U_5R M?E$-]:O)T4GGK^;E+M7HW91O=6TY6GU(DU1,ZHLXEZN /87F-.9XQWAILL14 MFL/RJJK7&CKZ@+;8C+8,__-="?#L'E!_#E 89K,LEHZ&@*93S +1:<[P5$[C M!0X$O9OWI@FQS0:U![J;T 4P'&!X&QA^,[[#88PX)V-2N+!&,YH);5>#8QN, M -8&P'* Y0#+ 98#+ =8KH#EC?=6Z_#\IX D"_$794M##%[2TQ[0KGPXH&E MTT<+,Z_6:T+?FZW3!? RX&7 RX"7 2\#7NX'+^OO0M8!\H_!#+&_<"J%'@CH MDS'Q,&SJL*X9Q1YPUB($0#2 Z*,&T3S-%:T&=JYH"9 9(#- 9H#, )D!,O<' MF96;CW6D_"D8(\*"!8HS+#A%DA7YK2E6KAW''EK6) 7P,N#EH\7+EV*%_"X7 MR)8Z7H>(>.H0 =@;L M?+38^89-4$+^SI?%&4TXC4E4'+](HMN=)7,SOB0)2D*"XHU>YOKITWT]!I Z M('5 ZH#4 :D#4N\'J?>[<]D$^!$-L_P7E$0!SF=H0)(Q93-#C*\YD!68;T1+ MCTA_)(B()"&7,=K4#]S!K:7?]XZGSZ1^8AB=T6A_UZ_ZNG^:,L:D',320/&_ M,&(7270N7F<9?35->Z?U?#6["@J$L4YH="D^*[-,:MM:IE;*2X_65RVM47JU M7:E5<%JWN0N:R]"T3E-KM!:SL'J!*=M9H_+_9HBEF,7+HCR7@LZ*EM8H?6!( M $/Y/FM)K6IJCU;Q(!5].U];\CF-HD@ )K[Z(5?P2:4#2M'6+K5RC[QA#_2I MVEE6V=(NI;=4P*+X_Y%YQ6Y?W]@NO3E,OF&WC"Y(461>27%%#C\__!RTIB*]K9HC)/$+E/A9V1AQ7X39;FEQKL%+5^3;)&)UOT%X!O4Z91 MOO-2 */3W"=/NH\T6??N%P^_F&$V$2_K"Z-/Z51,OCE*JM>3LK4EBB])C+]E MNQZ%5V2^;F*1-G8F-.-DI\1/*7FO6EFB\"H)*1,+-(?!N1(_DX6=V%*Y36GU MLL:!P)PH3,D""WR,5EI'0;JJN26:[_"$2*=6DGY#LVHQES>S1./]%,=QG0(H M:V2+OAF*X].,"_#)JS>ATE:6*'Q SU>1]'JMBZ;5J*F:]H<3WS6GC$JGS90F MU9J^JDGOM-T7Y2>6)Q\>'TA:ZG&H:F*-MHOG<(J2":[0-JIFO=,H3'&)9>^7 MLT<:EQ!7^KVSN.?1Q 6U/&40'6SRIGJ.#FK[9*F)/]3R:ZR.%)JRIV'Y:_+V MP5/>5#!1D[6/WK&F",EI\O0/[WC2BYAILO?)._8T8VR:_/WH.7\5<3E-[G[R MEKO7H0=-EG[VEB5E8$J3N\_>CD+E^^ M(A(#_Z NJ_XA% .GC2Z3_D$6S7BO+H/^@1:M(+$N>_YA%OT@K2Z/_B$7W="Y M+H?^ 9GJ5$!=GOR#+VJ'K:Y)[A]R43M[=?GR#[$H_+"Z3/D'5^H]W[J\^8I/ M=+(P='GT%9[HQ'1U>?05H2B2!'19\Q6=*&*TNJSY"DHT$F1T6?0/E=2E .AR MYA\V,4V]VW+:_T&A<'/,"4?!(XJ10/(!GV*<\B L-)\L1T5H%&0)RB(BV\V1 M_'R*4V&DQ@:E;#M\F)4#1YW3"^4'O$E0'%#Y@5$L''%>:;/PLO6'I!?G3%OTL4^([=B+"Q6:M1DH9AU=LV< MYG+1Z^0',\I%4]\!RJ <;!F4HTD'A#(APTL$M%XFI'^GM1E++2"TKN_",XZ; M0 5-5OMW<+=A50T@-%GLW[_=GL4R:*')7O^N;3/VC U 33[[]W,WYK.3:=J_ ML[LE?RWF:/]>[I:\>>$#SLNG?@B8V,-D<:5B2Q,4!:)[(GX/&UU9IC^@O1JQ MIC2!OQ;\M4=;+O:>3)(\#S%)1YOEXI2F4\P"(1N43(AX(P'B'!OC<+-! M[6'Q)G0!'@<\?K1X_,MJN8R2Z&JS3$;Y*M&_G*'9((#/ 9\#/@=\#O@<\'D_ M^+S-OF0=I_\<<.G"?T1"@O*BWKF8QTWN3JL=QQX:UR0% /AQ ?#74UA^\N?% M_>WM]8O%OWILQ;>MH1AGZ0X,$W_M0S#QT9_7Z)G,LEDI897?6R)-K%8E:67? MVR'M3IY4+)E!I=]9)*E25B7?>D966UW0P9&!)\0B67NGY,4JV[BTSF_&9SL; MSQV.90+'&>4ISX/EIW)OND7+/$Y;9^=V-"HX*YK>TRX@"UUBG.V=:!'V6S,'>7[H@Q MJ6+SA7JZ?+5X M)=EH>67LSAP(Y$,@_X #^9TZWJU']D_>!R01K7"0HF=LFFI;T=M>%%]) ,3N MCRMV#_&H'3:N\F7Q@)[U4V5UNH"'&CS4X*$>NB,3\#3@:5_QM/XN9!,L\^UQ MNA>U%%8'ZC:_Z -HTQ&M@.IF1 '0!J#=(&7OU;'4&IQ=W\$^$]_PTPY9+RJK MY$0NB__KH'?381PDB;TDI.:5U;0&:P*LB;HB;CHS""P)L"3 DCAX2Z).%U!S MK. =CQJ$TZYP@_5HP\<@P>G:8R]TCSQX-Q.+E/,L, M2FPDCRX? 48,&#%@Q( 1 T8,&#%':,0T!!;>'* M_26D@F3.7!X#:F; Z0YGSV8SHPC,-##3S$'BI9AA^>5YQ'!+H8$8P*,"3 FP)@ 8P*,B:,Q M)@QAP@!#%MU! ^NFTT\!$<0G8O]9-C.7J@>P9R+5T0!F$9A%;?+#KM:SZRQC M;*V7]9/"]+J#;0"V =@&8!N ;0"VP='8!LTV2>LHN?)2TF:867PC:C"+ MT\>%IRLN7]TNWOQY^TT5G] M/1+<+.!F 3<+N%G S0)NEB-TLW2#?0<8H^T3EFF*P]Z-;\;BZ!%J:0K'WI5O M)L)I;SMKLO\/#]BW[6/1%,TG#T1CW2RV[N+^+.\5R&99?CG:JOJ.= 0S/)70 M88$#(?R&*?6-QK;G_&Y!'GC"C\L3WK5KY6QWFA4WK'P5<\W06V(T"CA P $" M#A!P@( #!!P@1^@ :;!76L?B)R?!ZK4'#,]EC9MDT@QY:XQD#V=K$P.H^KA0 M=45^2;$Z+\52OQ'[46X]\]/E%TPG#,VG)!PQC.J31IJ/TAK'<9;N8#CQUSY^ M$Q_]>2;HH3&)?Z7))"^#5I1CV)^] M>N9BLT'L,[M:IV,9:[X(:;J1>.6W:S\E^ M_#C@:P-?VS'[VCK#JP/*,NK$TS# -*(V1J5UMZKF#4,13A&)>2!50X8V*[O; M6Y8J'F+/&=L%G>"G/2X_;3>&ZV[5?GGN]V5E_PI#5J^3?6:^K!;1+6:$1F(' MD%H/G^/B9P4S>IW :>/2:0-. S!>W!HOE>_HT(P7>P!>CR43]>P=9M=CT60[ MM8[3JXM1M(/FQN/Z4'\# #@ <,44SQT/%_>WMZ51THIONWADU4&'F_$8RPL" M"N592H]9UPZ(%0.&8JFA";X9/R VP>FW3,KC#,WEIG4S/L7BL?*>:!R-DNAW MS*4C_"M]PNPKF9&TC(NNQG3&WO?YO'/V7H]I)\OC&CV3638K70.5WULB36P4 M2M+*OK=#VIW8]'%%LM&K[RR25"FKDF\](\M]KM HSI^&H_*3OJMK$JN\+$:= M'3 GS]@]B,>6S%IE&_ND;G8YS!8DQ.4"W1PO+4Y5/M 4Q;O?GU&>?J/IOW!Z MAT,Z2']+M?:\ Q)A 3 N*5M])-N=V):KD@B'PMX>Z%4FWM6VM\_"SAGM M_#6I,P=K6KO(''QQP%Y)O+*M Q]LZ:H8,29W1FGEGB[+STOG_ZW 8[$@JM9A M'X\8D*#."0]IEJ0RNGR=WP=V*]X_7IM,\EZ!K@5G\,@!"7)5J^"+:)CRJZ28 M$7]@,IE*];W 3)@\^9>2O\T]>%W+MAT5'HJ;*Y=?#L>22!KYW] ,EWIP;#P* M!&?X*/?V3'EYFM=+[%6ADHUGJ5!:HO=L5>AHY=M0B;'7!T)@%P*[G@=VZ[/! M7SN(:(V3QB<.U,X":G,W&ES$7L/1XEW6:J^OD=8$6KS*8' Z\P\DX5[A(/=F MYE>I8EH;=O!JNNIN-3[,+ _TD*%WSAOYU,W6ZOB=?PDXEEZQA@M04S;V2F_: MDHV6;]?NS(%424B5/+Q427O.9?_TO%) S3.=_%/:^C/!@MM,4SSVZBEK)MPV MR*S09-5>?>2>=4)MI$Y3(#\>BD"ZB!)IRNPGSV1F*9U%4SH_'XMT-))2-$7V MV1.1]9"LJXO5?*F:TT-"K_4S(2?O Y(?KP]2](S;'M+6',UB:4P3@N#4!YSZ MD-:%,"+D!22K*K8/Z/E.S*DS8>N2)!-K=UN$8O\(VWDFC8^'*58-C;AO-+)]L6S(6!E6 MIS@1*KLJY:.F->1K'%[UQ.\)VX!>\>)7;[Q*S#6M(=T$G./@' ?G^!Y+6MO* MP/S:;;'1P+S;?6+A@7JR.\>% W5S:V$"ZWX2S;)NTKLSRZ^[0Y,)$QM1_NM. M49 %SIK[8DP=+#T389W=?):<@(NG>-RZ71CQ%S*J8[S^IO[)7QV"_RLX,=H MG&+V+XS8I>A08>AT,*+O8O@FUMK#$XX7^%KLX-,JDZ^;07T71J?386@S(:>7 M9E5G;-L--@3F'\3CNWOU+T8;!/M/M#OFMV-YQ?HW7.7TU.L$OD\XJP;.0W > M@O/0LGNA2_PY4!]C![OPP-R-G8*O@?H7NX#= W4I=F%N#31'MC/'PT#S74W0 MN'6GG']S& MX#8^CBJ:PZU*V/CTQ^9 QVBK)^3^)X_\GI,%B<325^3O67ON@8CT=Z'/4Q*+ MU6E;J.5/'KA8[PC_ZU+8) +-8(9Y:DNHJN=Z*%*_R[^!X#HM=#.(NGDJ3?6 MV4Q9H+77!T(L F(1GL:#A M3^M>EH&&2BV[^(86=YIOJP 6 [F)0-62,9A8E"8G$)6"J-1!1Z4&?M$41*2& M(5*(2$%$"@(K$)&"B!1$I" B!1$IB$A!1&H@$:DN+V" >!3$HR >!?$H]RYR MB$=!/ KB41"/T@B?I'13$BJ/HXP%AWDP!J%\6O%#@A3IDPQB\4."% B_4\7JA M?@QF^87)4CL&PNK.F'@8Y@&?4I8*E3#+"Y7'-)GD?Y0W;N9XZN/1]GQ-_5$/ M[B5P+YG;&:M!H,-S/*>K_1=#5\:O1Q4@@;)5+Z5PD7("3?V:MG9$UK^^3_AN/H@5ZC5(ISN15K!?UU MS?UA8!2&V2R+Y:4HN]?F_$;CB"23+]69L.T''(H0OE)N^I[U!_1'"*]NJ=?D MM>)V>YLLW0E;FQ%I#)3K\0;;11=#'KT@/,AL!R]WS\0^"..=CS'C8A+<8[8@ MH;QW;URR@W.98,G+OU(>NNCC$2"HFD>X7[O?[[_0!69)COXF6)")N0$0-NWN M@L%\$R9=(;HEY7#&G5V"[6AU'P4C(:+@?8! MO@87(C6R@+T[Q-++I*;ME)Y7,67'BL*'TRP>3",#'YEW =O^EU@3V#2X U&F MOF_O5&TG>^2.('2B&%ZJ4GO0HI7VM)>ST+_V[":28E>U0OH:I*\=7OJ:7J#) M.Q#3CCG3$)-W&KI/]E\'EP::+&88;_(FV>L1Q7D91CH.IH*%5,BC8$%HV,?T M11%WO> M)/AARF@VF4UG_(.S#/$V%)L/:,9S;:H3I/OED_Q55S2%"*)X$22WZV, M](:&6#N<*/,\I@8F.9CDQV.2-U?B!V:^=[+C'YA-[]B6_2D@R4+\1=ERY[=F M=JC66/9L2 -RP/X#^\\<05ZM)]475ITH7M[((;%"O=:1NM/$(:%WZ$FH2\P( MBFN%6];6(>F_KV]HN<,VQI-AG!^KZ::$=!^L1ZA8+#M2+U H##-2UI&&M:7+V MH^>\DG1,IVB9#M" M,\=9GR38\YCUSP6XRL!5]HZS=,"KL'':'XSP4PZ=D7E,IN;Z'DSK)),5?R0)'>P+^SO$XB[^2 M<97+SZ2K3XSM'F@>S2A+R=_Y^S!FLVX@KY@^75ZC_Z+L+!; 1UT)VW0$K]A4 M)<7J=O.*H:W,MY?$F_.G&N5(V'6_&RH(KDZ/UNOD%3-W6,J[.$BS48K"\"8T MJKKQL.5H]MF_S@L%"*KRW;QD!JJ0@%EG!Q%5FN07,*=X-&&X\.DI&:KO +%6 M2,KV/"*G9J3<#J4UMJ!/'+2!>+0CE#&X&&MK7&QY!M3[RYN^/]IN__(J%NUF M*0RD&FX'$T07#]CEO0-UH/!&>K/0JS8D6NOC]6J-ZFZXGJ^JNK=1'0SP+F&B M \70P*GK719%%V+0=07;G0.0DP8Y:8>7DV;F]O5.Z[9F4BM*X9V6;^9K[X/*#Y[?$!"E.R:%YL MM^53["5B=4(HY%I!KE4#W_DF)?EL9][MY"6?+E]G+0LC)+K)YR2_>):W3'") M>XIDWRKW>U_/&;3(]M*E5]_@6T;"RCB&W:RA>KJ?AMTJI#RGW M0L0 A5VR![@0=T,R!BCPE[N'"UF;4P!Y/(=7,^%>6N97G&6ARZ=4QH"FTST,36KM8DRXLM)>= M;ETL3::0I=2"DY-@94H$#,]EXD,R$;\M<)+A0(HMH,+H*Q((Y4DO%XD\I,_+S(FYL]],5-*ST36->N B/^-YBBI MI:&Z50Y6E&NK7DM);6-[11..1-+GL8DRA=_OK=4U)M1-W1%;.EBU&DZ M&(+=']&_*?:&9+*:INICSS6M[9-_5^QSEV*;.UM=0R\O_EP?-[A*PCB3;A^9 M52G^10_HN8*U%B,Y"& 4XE=6BRAM,P!2W:^)#20_S;@ Y7RMPE5E9+3Z0"P1 M:@)X'E:KKPE0@Q6HR1;M$V]F*YEJ*=K!A41UP:!79W]KYQHU1#!>Q7W;KSD? M#@QW6)G"8*OU9IJJ=04U,QN]FI[=J$T?IFCKUU?K _$O_*[DI\Z?8I<=2/B! MA)_#2_AI[7;P(TBSNGUQ/]S0831&[PF.PRXF1$)\!>(K8I,]HTS,'C&UOB=" M.\J1<#1*(KV(AW'G0PD(033&_^#&X AV[WG>>"=J[_=4M(0@$D13()H"T12( MICCWR$,T!:(I$$WQR:D&T90JGQI$4SR8GA!-.=AH2D-?#019(,ABQC$$62IA M2OU5[2Z#*#%-)K&L!KJ^J_=Q&4PPG3 TGY)0-)P4T[BSF$JC!SH.L;2@&2(N M$''Q)8 !)UH@A@(Q% A&O"+_5FH=EBYO8Y2DPCZX^.^,S"5EU3=FZG090*AB M0*2ZG^4058&H"D15(*H"416(JKCWHD%4ID'3=J, M;B5"TIY "(<<5SBD&\?'* QI)B#3+5I*!7=63+4*!XBZL3OB[W"(R2(O$HE3 M/19479PP(K:$J(AG/Z!GS&NY4+=WQL)7@AY)+)0BYF)KN4FGF.U\I&9'KZ\3 MUM87T.9$R9J=#$\ED%K@;0Z"F$@WX^J*5 U'<^,)GFIZ"H.M3LZ8"K/+J@B_,67KHBK6?)E;1R3.GKD^1%G'9+WV]HG_0SQ MJ= K\H>$O L4Y[Z"] PQMB3)Y'<49U6N?Z.^#EC;+C$E%Q7-[!-\CL=83(OM M#K:CZ*LCHYJ][+-S(6P#NL3"!,KU^PY9ZD6MW<\^2U\HC9[(UGC>HWS_:_L$ M7B4+(2#*EM7SI:R)?4+K\8\7*.@T<,/-K[1)#3FY'4GAWE47S'B>#UK MENK7HM?)&V9J7XYV/]_$55;1Z1? M)2E*)D0LX15AU2^@IKDC!G9AL=8+4'9PD32Y OJU%HVBI1.RYXA$%\_R1A>\ M=F'I&/<&/2&%M45U^121!$<7B"5":?(=CYRP+$E(JMC1[PCIE@=ZO;".*>23 M\?.:EAH[HKX#)+I".@FDDT ZR1Y+&EY^[W(BU3335GY_[UZC-K/:3ACOD@JU M6=0/_VOR:.^^:&T>J[W>FCS9N^M9FR=C TF357O7-.M/T=9,V;N$V>#]F><< M*GFT=VNR-H_E(3%-?NS==JS-CYYS2Y,_>Q<3M]KNJKQ?NINZAQ#&P$FLRZ6' MV$7#CZS+G8^PI21!R3L0IF>=')?&T)!^P9&F;<&N5" M>F>$&+Y9S1BU=[9(X_7I^4:BZ^S6"REY!_4T"'_IFU+G('B'\\SX4V>->P?K MS)@S/;/BX5(T8=-X!W:,V//+.]\RZSED^R; MCWE Q^*KG?FWOEZP[7'V)H^P?Z:].95PL!T.MCOZFL.Z&KT\(J-FH0N M@YXNV.*"%!DQR[4W9@L28GXO%'@E-W4=')SZ6X&H6\SNIXCAFA=2U]P] Z>( MDU"3^A=MW9-^3N)L9^>H(7ZOM8/3E3C!#,5B*H^BF=APY4Q(Q3I=)3A4L*'9 MRP$[3*#H6T;'E2G4)2U<'!E=(_[U!=TDR<2\N-G<[7R*QY3A'3_PQ;.0L8#" M)$%LF7LZI/-)7NU-XSB_@B+%#//J$ZB]/]&5& 6QJWEW*J9E]9NO:6V??+$+ MUM['6MK&X:&PE>QJKX_=;^Z>$0NH*^)$J]I>AU9 MR"0/\2^JME!:C.2,[;KU7]7,Q;4!^?XJ9D^1&;;5216DUW> XV"'=QSL#RQ3 MZ' T6@B-.<'?,NG1O!FO3(KDGGA$N7>,:*Y5.CY[H=',[BP5D\.(L'9_'V6%*#*>_R+"K)?U=]H4.I?BU(RY^KNP/Y;TW$%---,F[ M='4=,FK#7VD&A7=;J=[T[,,UY]UD M[IC)!N(;PI*P+B4]A[]W($YO81FG('JW:DPXT&.\BF&W>>F(3X-Q3)]XU]GH MBH&=YZ#7T@:9YY!YWNPF+)QKK!EE*?D[M]ZDIN=%28A1$MTR/"/9C,M273S- M9^0>1]T,YN+RJ/_*5D0\T#LLEE](\B)K6Y/F@K>,+HA86Z?+[UR>8MZ8 M2*,P)8OB7$_-]4(]/@IN)^J=M=O\-DOQKI@\KG^.BY]&'*J'\.!6(ZT$6 M+M@1("8DN%'DJB7554R9-^5P>'!\9C' HX=O$<3E$RP7<"%MPDY7.L M@L$F0SC)U'ZQ-*Z2O;I$%=QI]_.)I6U-3V.N7G?UA+&]JC0-WIIZ!!_87-F8HLWJQC 9R:;O5F- M@;QANL2V-6-6,8#/3#9[LUYZ H9T/G&5GB%=J2:GS2K;.[C="BUS%](E97=X MGC%ASG%\,ZZ_[5R_HSNF5J59'ZC _C)K5E;($;-=D+P.4N-(QBK$*U!9\VV' M !SH*A2'.\&\X%G1?HU06^EYN"W[7<*S=WP,65_7:ZSS*VOT\8*GRV@!= MWFH'<, DHR'&49[F=<5Y)D C7D>8OR=1GM(N""0+:1Z4KRO)#=]DON>ZYF:> MYXA5R<7&,]V*\A[%.$].+E;HS;BLO+^&>(S&<7!4TD1O^Z:5X7 JG-(S8@1. MZ<$IO<,[I=?6&/4N2ZH%0YWF/?MV,*S_# 7OID*O++\H?V\:8/9.6=@2E0X* M]&Z!V9M'!LD7WAV_L"6E+K+0O#L<8$MXFDY/[R:7WA[7-(;MW<[5@!&E&.IR M2[S;C[H60&6.AG>;3=>T,[B\([9-""H=UKHAK&IKS#"3V)0QV&] XS]"0%O3BS M=W"A(VFTB\-YIR^[D4K3%#SOT$2K[4,[O7(HVX<.0Q5KH^<0_E!V'%,)=I+% M-)2-J*%P=+/9AK(#&8JA:2+[4+8>0W$T/^7FW>;3C4":GT/USJ;M4R#*H\=; M23BM><&ELE]=&1G@_,[(CHM?:#W!=14, R+URV%T4D2A[N;6ZQ>3^W7=!+/^ M+DHEE%X]K&9+IX_CJ@\5-.;@ZG$?7-W)*49-U+,'2Z>'7E9C4?_MT<6ER#+$FCB5@AI65]M-H.D/2V MY8F.[Q!7Q0QRWV7#_16*+HDK;L5KZ-A75S[E8H%B*-UP5#E]J5N[##7?T^K\)*: M8T9]X*S%X5T$EN,6Z8K%T7G&Q/0M0&2!9,S.Z30?R1NV<\"\ZU.^>,8L)+SR M3N;&XSAB>>L6C<1V)#07866O2\6MX1"^,JHRR1J,X(C-E<^CT-HJ;DH;NCK: MU<&)J 8;EW MA=[T7V$SIZSE.:L\/-OM&NU6&<&YS=[+V6NZ*[U30+KO3 UWO-,\!FRU,:^\ MB^ZWXEO7PO(NA-_@T&WO02'OPOH&4Z.1.:K)L+WKP[IDN/D+MG>7F'869GF?3T)3''P*QHBP8"$5EQ +DG=1 M%;D].Y_3<3 NTKI0'*#\^.&Z;10(0P<%3*;42ST8B%V1\""2=FB\68?U:5 6 MB;&2,66='[AK".X::I!XE<^W2S$;<^BRO8^NPJ%=V]X^"QMB3I>;7W\CF E5 M.EU^E9=P*X*O9IV=,G>]U1^73%@:M*?9"[*]H+*NYY5U]:*HOPGN0QY2/Q-=V^,P MB+E>KYW+I%!GSOL^V?OQ,.+__. MR/KV3M=H9B_I!6BLQYD_!VB;O!M0&6,/PMVH>"#(Y-5?- LH=_Q4>Y'C7@B' M$#&$B%M54BE-Z]$MHZ+1>8"5 @9,NOOH@"K5ZA2/*1,[3Q@CSLF8A/G,X2W* M VB.Z)<86O#KGK%]6(JQ#W8!AGCX^ MLO"7CX?\G#F^C^*X>!.\ZY4CK-NIZX,'&WR9X,L\/%]F1T=M?7-?=F:_:?+O MVU'C_LP938'X=@;9W,"U[MK^.>!R,>;'@7-?[/H\<, P3QD)BZ+)HDE BP/3 M#;W9[1]DSX'=%:W@LP:?=0.?]1-BT8-XK,)_4MK&A8]LO1SJJS4KVSIP1)26 MOA@Q)J]ZD*K@=+EMLKH@))=Z 5BN$L%-EJ=,Y%K^88J2546)2\K&6!:0OTJ* M/:W*PV&?@@,4S? FA(WR&]HF\TOZ0.1]\RQ;9H_?D'*6+_%H Y:8?T8G[/67>F M_\L??[@"]F_Z-Z3/PU?$JV2PM<&22-XN^0W-L#*1I<]'@> ,'^4^@0B2#7P( M=Q]5=37<_/5F:TO2N8+RK MT+2FO'PK..]C(-FC5#)ACXPIFZ$DQ*NTJ:YSR&J?X$/RF":1D#5V7%ECKZ>] M_.3/\FM:7NN41V.=7ZX>/RRAF<;CCRX$L1S_=/I#E""EXD(('*7A>.@8A!>_ ,LE <,-- MP2OEJC#=1EDZI8S\C:/O2839SIW!DHO-O<&WC(3X3DJA"!_?C%??R,C[:B4: MR;2WIT.&(V0X0H8C9#A"AN.>3+2\=EYEO$&.(^0X0H[CD>0X]@P((<,1,APA MP]$S84&&(V0X.A+686\E[ MI;%G)K[SV#Y;LWFYJ:L4+4(2LQ2A1U*VE;_^T "_22*)+\07:G)5R8XLD>@/ M&HU&H]'H_N-_O*QC](33+"+)G[X[_^'-=P@G@PPC"B+)V)]_ M^FZ5YYN?7[]^?G[^X>4QC7\@Z?+UVS=OWKTNG_ZN>!Q^#?/JA>;#/[[F/U:/ M'C7]_(X]>_[33S^]9K]6CV91VX.TT?/7__GY^F&^PNM@$B7 D3E@R:*?,_;E M-9D'.6.CL NH\PGX:U(^-H&O)N=O)^_.?WC)PN\HUQ'BK$M)C._Q L&_7^ZO M.FG^]!J>>)W@)0S3=?"(8XJ9-;%*\:+]O3A-]UX#'#\!CO/? 8[?M+66[S94 M-K)HO8GQ=Z\'([W#:43"#XEAR.W-6L'^D =I;@/]<<.&\<]('L1FD1\W:1HS M56'8,.:C)@UCOL&&Y>.P07-X-8#FQR ET<7PU#7]5#P(#?8H54:O4.&-AO%+ MCNEZ5&C-JFTRW^O$)HT?)[ TO7G'E>QOX)N_79+Y=HV3?)I099%'^>XJ69!T MS?1[28;!Y"U(/<]AQ;!*D+3H\%Z7%=N=Q$UN2C'IF/TISL@VG?-%E9*&91\G MDR\/W_U[21M1XHA31PWR?WQ=HSWNRS0M^1RD8SS-,IQGTS5)\^@?#.*'EPU.,OQ7'*2S9W(@ M<<2U,,**G;G3J>F&6$D1GGK=DH_K((4OZ?V M>GA!U@"*X9NF*<6.00>]W]6/W 4[II:>@S3\&$3I+T&\A=YMUQMX*X-NS>E: M?AD]12%=P.[IPMXQ_9W1U505UO'95BLE31061-$NPG'H97JY&VSB;01EIVV' MT79#)_2, MO[>G8OSM">4P\^^8OP-7DJQ4(I/&IVB91(MH'M#/P7Q.MG17F2PG&Q)'\PAG MU8>V]<5$>SJKSA"ZMJ?N0XT#32L')NPEXWZ-D3M9X MLL'IA'Y8DV22P59MD@<4J?0JI=R@J65*FK"3/=,[-$$W.$=7# JZPRFZ8% 0 MV_^.8[%2'ZN^U4IS $:_7-%GS2U7C<;<+5?TV1$O5_191\N5%A_TEJO?GLIR MU13(8_G2P)"9^C.)X$23@A^8KJF:A".0D83)UU2ZMEHPN8$@(G M*]EOZ4KVJ<"$*"9T"YA0+16(B\6(EC2]812N;0/&YH3/E^ZC[->/*<9TP#&5 ME=S5^5(?W3&<+[7ALSTA@>9D08FBJ*"*()KR],^7>@?;UOF2> 0=3]OY"H?; M&)-%S^K[<9MO4]RR!L] [<#AQ7N*[M>N&6J!A.YD- C%NNNQP(K( G&T$P;W M>!4\0QPR:F)&!6CTE<%F)V:( ?^_?J:N#2D@+H;6EDGYXV1!%<3D"33$9(V# MC$*#7[6L2-G&C!J.(J).;,4?J:T(FA8Q58L^-V",R#R4'A^A1:C&=%O"^[O) M.DA_Q8SD),/S;1KE<"J@(;IR31D5W'Z23L3V=U1L/U<@T$,%8D1"*SDR0I%5 M8;$1"6 /UX5")V+EF'W M-]02F3WC^ E_)DF^.A15LXTZ\0D?$A^G;_@0I7T?\7"^:/B*[_$ZH"B3);OO M> )>XT[1U?8>]_/=UB+T!_H%W5_ MT@,D7,O4N&Y+>G^"@*#M>ANSVWW<%0U@4KRB>-A1#,FT MM@!:+1N5:R4$3H3\)RKDTQI3<01RT<2$KBFF$0F\WC *I7_ V-B:"N?G=!^S M9'^G> .K2[+4$7R)=HR*>0\])T)]?@ZJFR- ]R6"$8FPS( (!5::RP/%\\-Z M$Y,=QFPMO*-\7]$%XHYR_7:QP"DERN_BMTFDXJLZ0BA)PK;NF(E*3$D)#@O]1!.# ML;CEBF5"%K!IC.8LG":,XBW8E Z^*BYF"]7%$0=-F9&M@K+5!@?$YS_.\FC- M_$W!UE;IE?2$R;B:-\YSIO4COE,42VMR-TECOIJ2)[^G'M@L&VG3FI M;P3=3EZFZKEZOZ%CL$U3BK]CNO4^JSE!6MNT+=)\?8L)G#C@=(T"]Q>EY'A* ME!@U!K6OI*FM*%=745/MU'6BH4SU0^,\I!DATHR90(5],2)-+Z^@6#TP2MCL$ X7] MT?ZPCJ:P0=C)K1,=@'[OJ$ 0#X N3,PD1->5P=G^PAAGO16!T;X,,UP*1G.C MH8HO;WK/>-S!N?I5!IG6S-]AZ*-J>_+]!4?+%;@E@B>;&,41PN, MTBIX_Q6D0'$[H4P-EUS'JD@\JQR;;\]!C$4$P/SLSWGMQ-*!?R-)BSI-:-Y\P9=<;1.+'TC*'V;OZ]YSV!_=^?:4\F M.:DPHDO:E^;3CSMT4?>%-ED\=THVH7EYTS84+0F1BXO7]2<=72#5DK7KV$<4 MW=_,WOL\QMDC-T)*5[<%;!_+GN<+L]"OJ8&NO,$Y?M7X;J8F85MH.24$I,:Y M/VGAMM1FI(N%[J\*L^\GA)VZ3JAJCYYTC:N!-!Q=+.[%XOV^-X!3T!7Z/$G;3ZY<2-^Q>;HL'3FNZ#I*: ;-XN"AX".1X%$EL2*9L[ZA/1S'DI+K@Q[JQ'[<*W^!LL[&M M&?10^%(-:FA'J1MR4EV?94IB/T*6@*58FM<,06?%36>9VT7Z' ML#-15;7 -*1,J=",18H#Z\Y80.:R# T#7VB$ CYB^,]ZLZ>=-6R&IN88664: MFV+34JC&NBRXG>Y?'AY J673)(3JZ'DT#^*'[6,8/449(/V,UX^XJP:WVLN: MDU".B/4 B0?$8;!K$Q40U$1R%$'WE6/S,S\4!X<,X[CGY-6=/^A8K(9I^DAX M+<(VJE38]+'.G\9H>IJ6#U.9M-4&?5QF)5LV"R>]-4M2CX@EXU$-S$CLQ;W# ME!,W$#6E0<$F'#+$3E/@I_@))W0O"@RXKR-6;8UQ<+0B*7N)_ Z/O= X7^5D/ MX1J;K'+MVY^5_3C\3K\B(?'A[#N9>28YQGH32F7@'&<=*7Q>-_-85[O6LX^5A,LD2YXRCPGY2I29Y50'0_J'&&ZAE E>Z&*QQ&29 M!IM5-*2K2MZ.;.<2+#2.6#J+,)&OJ MLL/.57S+K/IT9?/VJE'TM83AUG>IRGFQ9AUF%=MS_C=#DYI^TO(BKK;#7Z]A M@TY^-0#6'?MMSOSZ[LU9XQ+>I7@=;=<99!S)\C:CV$QCND:.%E%G%I 6.BWSR#8??N)\2'BE M#C7K::]Z"EF@U6&JJ#I9D1\;:YCD$K/#,(8<]Q+%'S[\UY8.W55"S0%6L#5C M,1=0,:M0=Y]H$SGM)L_46":SG/)^ZX ;W>*NT@E'*WL! MZ1M;S^TR>FR+N4IO_YG&26,9=S,=3F[QUM*^3E9N?0GR%9'14\=+,01#N:7! M,1?2%%W>GN2@)@P5JF&5\<6CBZY0'[;6< K-L? :B'24E+9.&\KB0*9)>/#- M%]K)02%*5DB:"5XR"LU[6--1!EC(VW'T)?1@]*%/=F2F.RC*HB!\*YO3&\*B M0? (7<_JT$:W,97OPNGOEN3[.JZ]DLTQVC"_UT,>I+F>VY/J=Y::[YOR(MCG M^(=$,5#0*;]/;INJH8F=;%)U!>E;6;PKKTKI8??E/CY&,+JE^ CIZ:^X1UT: MEYH?PO']H._9 (I-"3J\04T5J$_8MD:KD2$&[0Q1<*A$ MAYXI/ 3 F(>"?6A ])M#U,!H$O-#Y#@Y#,S?OD]@TB A^8%/I37D%!08?*3-ZF=_.C,I7V8IV\M[?=G7(; 4%[KW[?^AI?^CGGFX6ZT7[]SNB%ID&.% MU5[J'6WO<4_;]AW$!?%Q+>5R_"9:3'0K;6WWHJD5S)U974F^Y5[2E+?^QFT+ M',MZ3+7S>D2WXR793?1XZ%;>+O$FQ?.(Z6WZ.<:%&["99*I#ZE1>U90]&1*V M);")@9U[!0WB7N1/B?%D"#>_E0W+_BU5YQN6=O*CV[#LPSS]#"XF9;[]M_P'J9CZGFX&S^.RT251Y6"6I!T'="Q83T;*DUCY6-#@?_J)I1 M*V\<)];E$S";D>F<[B=3S!9A<44,Z?=T$^>*VG&GGJ&RCZCH M)'\$03<1]!/]\LVD=!I!@:L3+&-UZ)SX,X[#&2G+$HG+5ZF^;\K[UD7'FQ>N M"Y 1;YR!WAKSRHTG[%A=^/K<7..-D&1;_ ,!=M\1=+H'W09.__QS=F;-^S_Q4[C?Z HR[;T)W 0 MDVV>Y?1#E"S1V]^=_>ZW?SC[\>UOV4_TS]__X7=GO_WQI^)%%#!Q_DS' MG9\A& /VZ"6>LVL/Q;?G/YTA^OP&0RP.CG?>LOFT#C&1'3>WDLNR9BRH.31- MP@>Y+ M!@&WM]2HIT9LLBSB">FR-GVD'0OFG=$"%DGI!AU8@&3=4UUC1CD!AS5'C1*< MER= ]'OX:P[9XS8%=-CQD1(V"BK)$.54XDY8^=( M'=BJ"L^@XUI+%#R95&TK;:^[0.'-H295-P5/)I7/S;T*W]N,*EEF^I?#[!Z< MQBF=/;VY<%1>-2B)AR2L^YFJXT4HZ%:0]IL51XGS EGL9Z>W8P*FW[-IY3$7 MGQATO3'\\."P9;?G"*67OSX\\!V>),/T=G=^/R='MIW,!%9&H\YNQQFYD7VE M)1BV-IB&X5K7[CW5K4_8-K]_VE= [N]51]GMUX=Y@+F$D6.>=-.=T%Z MFS[D$!K%#'VJ5IFXBS65Z,WA6JN+@EL-5L7CC&D]5QF'=J4FQURW8GR9WYKHB<&)ZN.R)5U6L!<*7-E8":ULAE\3^R72#GL"85 \#I,"MAOBP MWL1DA_$]9LD#KJ/@,8I95&5_BC'I]S3GH;!]Z^&\\WD*#KQY0P"\S 9Y3A-M M]CF.;>>LY9&^L^!%)&O"YW6CS+O:M2U;5T4T.)!$FV '-^S\1'L+.4N4V35( MEK(T;\@1_>M0ANA7?[L'+=P:=]'QJZ)\'+1B/6%V3I5+ED?S($;-H!XOH3Q= M'"0"MM@?]<_!2[3>KCO'O?5WC9'?:\=Z$!">+XD,JRQOYGZ- M? 3-R-EAXG:,]W B>ZK"SMT6XVGWY#>H+8%*K;_I;DY=!"%U;DW=QR&U\X[T M,L1Q@BW:%J9&0RA,XM/SI&[2K.,6;"XYWR-98 WCL21_-=%9,DR$0C M>%I7P-I;=98^L)V\5K) 4SW1W\V#AF8PO&4"%,@(4627['S8I/$CD_(W[PH9 MAV_^=D'2#4F#''])@IB))@ZG2?@_@TV0/. E6$NM'DR]EQ5G@!H1^T'&!1#4 M0,(6O<-(EO-"\LS %G2]*5!EZT)9 M8S)P0.XEO4\DB"RS_-OIPBO?[WT8$V(98:H,="MOH5B M?0D5YMT-[MJEMCVBJ4N;3=D/.BMHZ>P\AP'5**=:$3QC&5/) H&%^1PDHBL? MEI1ZZZ 3&08-5-AR.TFS6T;W>\.]':"^3O:WUVM7QKZV=!)[-U.;-!MFKN(5 M;;67C9B]OBYJ'YF_H[RKK3@@G9;P&&]L:Q].PQ5=\*!"N<;/K+ *N_QQNZ = MIGH#Z@29CL]1(.DZ5$<"VNBC=B3ZX#1BQ0I/_=0Y*[O"2[WRSB#6FS-4]@>) M&3RV*!B5"6DB($99(CQMMOY"TE^ODKN4S''6E=VG_^&A&["]1FUK'B &I?LV MG)S?#4T[.]NV-CT\\K &/XKGP^/A?"BKFQ6SH)D"F20SWP#8<4&JZT 6W.K.>TRU M^1:#17!!$A80\9YZ*%UPEFVV>7=.Y'K^3JUG0 M_<;04@7'+;NL4,"IGR%&'[T;29V"'FZWE2<0L="U3I[SFR%!7%@[/(8AS]/H M<;:EA;QP\%8#U*K$CUPD\$$"ENC;%K%?D*I][C80R. M(;$W,([/NPY+DM]!U%F:[^[HV.;3)/Q O]VLNST2Z@WHGGM)$W(64"^-2"O& MWD9_AQA%Y6Z2W8;:%&#.$"YA-&;Z/-A$=#Z@@.6$]7/TIRZ79#CS!\98/,Q7 M.-S&=*_>OJ%G_\EN@<>S5<"W\L5=T\K8H[NC[9I_-V/*IR-ILSN".I$?5H%9 MOZU:@(>)TN/AXGU K!,(>L%=6ZCHQQFJ>H(:74%?66>0=!KI\7-7+]*%4MW& M08K".KRM\I2]M::E+WU+65OQR=E MA]P62%DK"T\D]);]YQ><07P^3\=^;CK4MH>$Z]#:%BBC#Z5MP>PT=-8(S_P$ M[+!_4($=;;H=XE4_R" MIJ;I;MBVWJ@IHYJTWZ52@LM$G76>S+'WN^,--EO-^ZJH*KT\U$CK)>+7V^*Q MUJK:$+19;@I\=2N;QZ5(!$G!Q"]HRF!WP]8S(7%R**X1>)$S"=82=7ZYE2=^ MK84NZ46IF\/*F+U+JMK+FG(F1\1^I8D"Q:2 T5(NU>O"JS@69!B#W0KI0?4O MGI6X./EIIBN^C.(M?:RNYGJ5XW4F4)!F&]<42V)W@#R=R]P'SY_I/$^C(!8>S[0]._24IMFF]?L% MP3-:E\3\GG:TLK+MT*.;/XZKR##MWR$A^S_J5HEAC3BK"B,1UF46I_8!G<<( MM(.!)?U<<"N19:SN TZ?HCEN=V7=$#J1,E#5+ 2$,;3Y^P7)\AN2_Q7G]WA. MEDE/(D#K]#3GC35W#-4(2\]W@"5?INC';7; M:K1G:+J&9 =GB'7.:[%6>Q.NIY2\A2%.'R_^Y+!CJ[* MKS6=Y]$3FZT94)VM96=5*RH*+MQZFN/Q;$'(._D;6>GUU])&GQ M%3S7=9[M!\38K()6L"=O*K3V:E3V@R&^^S4JBA-UN)')D%@;F6(=!^%6WZSQ0DWM#4CSTMVS^QXJ31'FV_!P8RC"8:W'/OU-2@]?.:DB+Z"C01(^I'6'JX2>19Y-@!7N93H0OJ)=D^YHMM7):Y MI@LLCIXDJJOKM*'K3E>A95OV]I/1A 4/SXMK4&@QCAL&/1/0(%N_]^ M295X15

YJV+H<%;916Q(]K(K3+*#SRK^=G?WA[SJ+:_O6G']\6555EJJF> M48K9!H-3!<=^;EI)#2G1&2?'NP@>:) ^D$5.-T/X($*E?S^A\J[NSD*&AOWZ M@!P$*E&<'84H>=YP*(T$&<1>Y]IVN]ZRX*E9&B09WR%-P[]ON>';*Z!J+^MK M8 DB#G1QB0+1%11'RP1Q]3+?H1H,:F8A@D"CNX#%>WJ57L5A(L-X[R6IJ>A( MJ.NQ8>E(W46OE9L+MH07QQXDR?R$JG4R\SBUZ"C.8^J(-I:2MW)#%D&CX(W, MCBX.92*GC*%6-25P('4GX9;=7GC_'B!3HT@NX%(GE*UF\1,2@3AJ4EJ/YQAQ@>Q !YO5:D,3K$ ,M' M(\4UR)M@C?LS$.FU8EZ:VZCYE>BS/7D&5)XS$VD.E9QHB_GOX[X3;"P>\'R; M-J]C=8BRQ!N#;C:UMFS?M"!I/J%[ZC5:5RA05L'P>(6IG]-']Y8DV.?8&1"& M[-P]B.^"B,Z'"YY5M%'&HLL1(/VBKA- 2,"Z Z!"@#84PB1*RJ2K?O;T\APG M^FSTYHMBV0_!B$[QBMK15#U?L5M:LNXHN?>'>Z3ZZ5B7R=N+J[%[G"1'HMWI MI,)>UV?Q=+*L2!SB-(/4Q/E.X($2OZ!]-M_5L)--?D'YWUA:ZMS/89$$;XDZ MP]P*%!/U&Y*0,J:92_J'%_ C=-6'E7M)4[#Z&[<>P<[2 _.[N>S4TXMD23*8 MZ''-L?VRWI1>,PIVFH10(D#HUK%)RE:>/PU(UDU.EG,.2/MU_5@=3I6<6#8U*#D5 MDC@.TJS.J"*X+//-<5NOO 9=I.FO[) ?:FJ4#$?]#*^8#&7%J>),(&R/). ) M".#'@X%$:9$#BO[.=VSTO8I9S:(<'LMQC&CPFVO"Z,"=ZD+B>9TXD67 O9:7 M+QAX:IPQHI$#EF2B*FN4-76I"5V+-I1ZAEY!1#=^"=8;B/?>T-]SLBYK)*5H MFT0Y>_+LX+M@0]'.(YY%.@75D17/-:'E0;K$O('OOVW=[E-U^T]^)9=BM??9 M0:FQ/"56]9Y^2B*=J@2#/&6-KMU#PO!'J7>&YHAN:]MA:N@&>?\>0#F&MV6$ M%G/1L8*J/"/=\82MS^@JI&9;+AUD_@+^VME'I'CB/.L3/R&Y[BZYUOJ,?JZF MNBWK50ZJ]+(ZV5D&0M5(X2B+UUZRJ)9Q)E(<&4VH:2-\8;J&4Y=_[&TZ#IT9M,I:$@8PCP28VS3JBDMMCJKU:IQR_7-WBQ/HSF=ORQ@KS?RM_=9[3N^+6U: M3_I?$46,JM\PWGZV$B5>>:LUU2$R+4\,KR;ERE2^EBT?90&Q]GH\HII7;3+< MR9119,&FFCI(YGNICKN=)8H-F,UZW4+(U;201Z3ICK'67TU?S9SBX36-H@0M M2B CS?G=)X'B7-]"-KN=IHT3/UY(J=<^$3RM.0$[6G49-U"4U?)JI8B82Q0Y MYE:0/A$2/D=QS/,?7R7S% <9OL3\WPYYDGM)4ZSZ&W>ER_M1Z.AOT_W22$Y> M0JARBY*W\]4+?+='I@Z_9:CV 3!4YY*I\"K@0>8-5K7 F?'UJ4 MY+!=S\FSSA 'X]?J$G.]K6I$/RM'L=-N*2JDMM/N:<#L3KN%D.>==@LB@SMM M(_T=LM/>%( @LU=UOW>DN^T^*=2JK.5UMYUB2+I27**>)CPQQ%X<9=?.6_Y- MW5VXF(+U'3F'4!YM9BRK-P\OG_N/BU49 C* KZ-8/7C)D &K1T\#9E>/%D*> M5X\61 97#R/]';)ZO"HW"0"G^@7^@9L>3T$,=SRZ=AL:3>AN0!1(V9ZZ' OTFN(G* M/V>()%S(8>5A'W"-S<_^1&>G!Z(&-)L1KZQ2F9;")!#\&)@#@WM^/%$I=8.+][A,FRS38 MK*+YE,Z3&629[+H:.+ 5G>OXZM1L"WW3_5]C DN_1H4 %OK*@"'I>X6>NJ]W M=9Y2W<9!BL(ZAQJU':/6LQ%@SK)F3D!!>[B9/D!PB:'A<&PYDHS:MW" F]%% MLBCHG#V0..RR$X4OZ%J%G0U;OS8.M;^I8*:\7(VGXF)"MA)U7@V2I2S-&W)$ M_SJ4(?H519)D)(Y")N>LXFEK CZ91Q7EIJ])^Q+3H,O+TOK)A"?%5Z+"++?J MYQ(O<)J"DPB4YBQX:03@=M^WDGQ+4Q$)6K M$TU&NCY+ LLCWT%.QIRJ4-@9;L# Z18ZF5>T3X^ZF[9_;,1ILPT_+@E+)%MV MT16-V"$V?6)6NL;K<9>$L! =MOD)3.WR2!S\/##8U/J]O(*.U[#*UMU\*P-\ M6&\MV5C$#QJQW%SD96FUV]PG:)'@:*?-YCM5R_L@^746K?$EWI LRONO//0_ MK*DMVANU+3I %0%95-+U&WHG8"U1XY=CZZLH>UD4Q9P1:AO^)<;O+,AO8G*[5IDG6E<==%Y^6V6>?%T/2JMS1[U3N? 1Z.0P29 M-F&'11[C:.DQ4'NP&!/3XS'68"I!/DO]AJP'5[G*A'EU>@%%?(](Y^#'&JG[NH:JAV32_2XYI3J:M9ZBE&>S@J'" Z# M=":+.>3:V4#&4[M7*!U$E7$# S%XZ&%5[)+:;Q!\>$$2NMYMZ9)7'RX?!C%= M4CC).,Z81O&0-B>:F;1*L=W>.23AO^]0HN*(!B*%P%@5"-N MQL2T7'Y''#)IRML]15P- M;&6+.T#HU2-.\"+*OV>G.]5Y8N^3< X11 FC2J"84#EH=:R.A\ <\QJ+V!45 MQW<:@A1&#,):V<9>L$,6/:Y[5Z&C67<9MNM*6#_[N7 @8BQ1Y9;K?(LP]W%8 M8A,D7.Q[6#OC8ENC]E,N'SAI21L^#?2H0H M99X;RW_=$#&3>Q33* )5#Q??JX1=!:[NJ(N3?6JTH"EZ"I1<^=L4(.GX$JSV M6&,7,IW/TRU5YXVHN?H^O)<9J"-]Q "#?<_28B0JXQIG=\$./#[2LU38@K%9 MVDG)T7V1'$B.1#K%7.^53DE6.H_ZG&,<9G YXRK+MI "\G;!DT!^24*<4KAT M)TWW@A!5WWI "@%ZL!&,MW".VDAEU+7J.*&I'W=J#YN#P%4&GE\DPB\XG4?E M"3\OB;GQ>);O9-2)EZ$58HVWJN+&'TG;BO1X*4MD!ZYXK&E;BW9X?E<-$'"V0T[8>]28V 3)[M^RO:Q+U>2:EW- VFWK:MG_A7Q!%0GU"Q+^C[ M=5;*,9QH<='U9>@JL*57Q#J?T[[Z?-">_7L0+!YI!-6%NEE)I/GCQ2#]LMD8 M-TB/VW1GD-:T1VR0UB =F5M#N.+#(&5XG1JD0SBD;Y!N63__OT$Z6H.T194- M,TB[Y,RY?YO[,XN,M.]YU$RW+[OO:7V_=5NK#OQM3U$&]R;APDPD[;&VW G] M\A(0F/:A#'\JZ'LMO"(2%Z+(/K=3XX&J<5:: .ZNYSOP+)($HL=;KA0KO:,Y M37K;MAX#P&BBFJB/:\9J7"9:K',<6[*/IS75D-2SNC$E;6VZEB4_F8;DV$J4 M>#6"LVFRA62@ZB?2;>^9/(=NMF_=L5200QM.;SPGT*U<%IT[=[/.AZT(A93@ M4*XMH/@]IJ84;IR1?WC)TX"D=(<1I#N6[N&&&4B%[815V]ONU#FRWQV,GJ=RB\6V1%AL M\?"YH:46R_9<*84CPH.*%.JCU[Z!65>PPE(]L#3]N@6BK41A.Y\<9T:C.^XT MB*=). W741+!W0T(KRFP=0B^Y%NZ>=3Z6[>>7HV39R[-8 ^ GX1KDKPFF@QT MG"FURJ%]N[C'\SC(LF@1S=EB,5V#S2NZ:*'1@FX&57E*MF7RHC7:6@)YG9":-,Q>K23G'A!:0^@"^&?.D4A]6Y?FE.59C MJ)LVK1#^$L1;M8)I'>\:K91V0,-ZL)A>.3"G/>+!% ]YD.9JN^#.SIVA1[R, M$I8'@UJ.&^4\)$YZ_"%13$S6T]\B!D:FI[:" 96FE+#&6R^/Q[&F3^?S[7K+ MZX;-KO)E=[6??6;95C]NDU!RBROYEN;\$[1N>^(Q M\D4&6K3>YML@1@N*PXOLR7*::+)/1=JR4MPR//]A29Y>ASBB'3K_"3Y,X$-# MP.A7?[LLKG'\[RW=?N,TWMWC#4D/'8\23RH*4D^+UAV !5E4T46"352F94O(A0/@8!\L6V6C]74,B]MJQGX6[((: FO/!;^<9$3+"ZD!_2')J MIT+D4DI%C*V +*#\ KR]Z>Z"A(?KC>);&D(AT;KU,&X& >UA.$,,!1S#%4@0 M0'$N1RK,)YH<=6OP-'=$L^"EN!_3Y4T3/*UIX'2TZFI'T4%>9PMAK"<:>X8F M;79GJZ1.=PO\+N;[((8;E5X,-Y'D$$4F.MZD\VAYRL0[$D=S<6DE\0NZF_'. MAAW=?@!!*DFCKR5Q3QDUQ%PFZJQSGDMCD^(5W?A6J=5O< XW?E\$,J;PIGZ^ M#1$%!QDX:@AEJ817"2ZNL;]\[RL;AS3KR0!^.KZ9&E&E"^%P27X\5T11DVHO MZ]Y5E2)B6R8;*%"K5O0=):DX%F08@T>C+]7UI#W]Z%8O\FM!8U.%BBK0@R=N ME@84".S)A*ZXKD<'^.(.FW3FC*L)^_;&=7*5J+#*JJQD//>P;2'J(S;C#MT-?B7]]6D_9@$5,CX,3=G..4U3K&ET$>7/": M:#U^YK['!SB8VYIUYEFNB".@C@KRWKS)O2PFJGRS*D1%5,WNP\M\!=$(-\&Z M;5'L>TQ#:-J:L[[)*VBBDB@"JLYEI)>31)8]WM+#\L3ZM]L\RP/FA.[>HPE? M&9XT]JAI1_EC69V%,UYO+T.DIH]>14GQM<"1Y:)OVI<#BH.%,?9&.?!?N2_V M$_YVSXCVW+\"YCE9(,[?/LZB_"A75-\C Q:&LBG;\YD1 <_S^=M7C]^CDKRW M5>&(A42&+W:WR]PF^1AE\R"&FVQT!E);I77K+'A49QO=T:1U15_4%N:$$5"& M4U>P+SULL$5\)2K,\IU\[B[%FR *+XNBS$60Z#0)66&W:9;ASG"%88T92U,G M0]1A=BX-=&9*'1KFPY#+/@64*IG/Z(H>*@EJ;Z8_=:X[<;USK<,K@G^DWQW. M8:EG!SC?C]ITYGTOU@A.&C':WOSOW9PE2NQR*#*P4,D)S-&3@\6E:M&UL#"# M8@RB8E%#K]W<>/:/NXZZ8<^;6!8%$$Q9,KNX5[1(8E#L;^PQJG2[CNF9+G?'7! MRY%TBD'OT]H2T=JJ(^$H:2-.'!74/0E*/W^)(M/4CD&.-$\5\EK!09Q)Y= M4UED&<5[%H*^QP54N29Y?SF6;K%X744/$8Q3V=3>&X;7W4 M1$; 8J+*-\?W#LLRBN5N[P$O674;PM<]))A"IKMJ(I4(K4[)>)872'1OI:[Y5&G:^R:Q/T7*";!!Q>2^#V MS][C@W7%D!@:A7&D!!9=P)-^SW""7W=UF_!CCFJZ9P@037(R61>8"J^+]]MU M\B,AD=)W%)D(NHOJWN,YCIZT2B4?OVHL#/68A+^@TV,L9D),!_5Q2$!I51LZ ME>R1LTC2'LF2JA#=Q4K'?M#P[]LL9^;NC$S#D.4"".*[( JODHM@$]'UGJU8 MCX=9A>^A>$<6Y?@!IT_1'/,8I'N>8@P>Z,OLZXJLKO?5,CSK.QBXKE3DN9XW MT)5QV7Y\MZ[&G/@:2 <^PEGPTZ$D[TA$T/>8MF#L-^=(+FJB?A(1]'*2R++'@4RT^GJ[?M:6 M 3<>WF+LO?AW.UE&1'RP.LC7='<6<]HMQT,]3V@,]4%+MD>;D4/EF+L__NEC M'I'@B*=3P[9PJOZ'AIX+.@FAJJAYB9L2,+#M[&]@K)2FNJ>;):?N[WE6>R%H:=/1JE"0/"L_("".;A-?MD$?=XD2RSPIDMO%QR@)DGE$-]Z$ M9YL4I.!6>76HTNDAX4X5D06J4* 2AN\T\$JCT*:YI%GK5C _!"F45<[N<,I\ M/\7!7(,X30[>Y=8NN M-[DL:3U)$=#VN\%MX6K;]K:+58[W$(L%9OFB>:V-6?!RSXH/0H+R+5T?;JD= MRN2[2Q6K-Z"[TY FY$I%RR/2VI!8[*^&ZJ[@E$6VX.P:$"&():![XS@J2G'2 M?< <0Q%R?ZI<0RC)<,Z[4_%WA-IO\?^)-KU%8/L>'JKH]QIUK>LY<42I^RSS MVLO>-HW?PS._CJ.^;7#OLX:<1HZWM78<1JYWLB-V%G7N2B5XYDZ),O?N;7J7 MDJ9=C&Y39WVW$Z/A]SWK,%D M,%GGC4)OGF:FNO01 PP>XRSE9M:@:;K?A-5YRDF-:Z)R3/9FJG*?+4U5[W$@ M6M*H/&_;V.T\5P)9X\H*$!A\@J?U,R*TM6I[YA7':8UP?K\VG(BY1)%C;@7I M'C_A9(L_TBY]>,EQF@3QQ9;.Y36U)M_O/F&R3(/-*II#$?F,W4@0I8@QT**F M0 Z@;%MH"V@(1 >5X%"%#CWN4(T/,8!C231C8CR)A4%R.T^N2;*\CI[HBL!B ME?2FAEXCFK-!C9CUNW@$O', IXA<&[/(:XX3,<-\WUF7KA(Z0ZFH=2?"EGK' M6)ZE1MO^$BPU0)C)K*37JR%VNW07G*52:I.:WAQ*G4RS>JHT2P,X7'C8K1]) M?# E.G_7."O::\>VJ!?$$*?F_/2GG6=$R BWRO$V709)$;!\09*,Q%'(_J#[ MPCO*W/)4HW'AK;+NL\LHF\XA9V8(FYOT; MES5L5..F5HAG^\.:/!!7@^S:AGG"1;:OBSC(LF@1X?#]#B)087^]#>(RY274 MR90RU4TTJ6T!Z9.V[WRIL*$:'-CR#7BHQ,T7@"-(#1;B>T ME"UCU#IQ:V^T4]690$-Q:]P[N"$YSA C[,?C(C9BQN.'[)AW+$3"P,HD;L?L MPM1-S_:4*0)]BRP-$4.&6 IH#@!VP(1CJHOZG:$$LRBYXK7G*%^M;G 7?W( M7;!C04;/01H6Z]HG2"*=725\1G]*2=89U6F/DNZ28AZ1,P^!>>A:+H0Q<%!C M&\7HCL&_8'%.$(?#Y%9GW> <;H2R6\SV'N[04P9;-IKC3@F!W^1W2E#-9<6SS"&KZ?*"'!5P487W\*4JJ=Z(LNGI MS0MAFKT!0^DXEA(.[K( E\'SA*L)>K\=S#-\9W"6I72.7"E<$LPJ%C#9OO6PXYF]5,79;F MN;GTKZAGL>1 D.RURJT_E\N][&X BYQ(MH M'G79G_(O:M]7%Q&P?RV=(T"X@.#IAKDTHXD^]UQ+749Y.E_1Z7")GW!,-N F MZC=,I=[1EK6>MNV+&2?.%%U8D_WBUGPTB%UFJWH%@M2HV9;,AMP>,07I#.J =&MNNBLW9*4ZHX*,<1J MMY(,QX!T>L$_8# \T0ULDFH MS(MMW!\2Q: =*=0V[Z$(78;CT[&I%[H&@LSH8 M[9'V[?2K_77_C\$.7?UJZK^=()0&>V MF.C-D"AH1M_?JM0K'X?+C9A-[M.S0=;.G7Q&1)E7!J17ZVK:1?HT1GM4Z0:E MF$UT..A8\Y:NBVMP990Q"3MQH*GL>[J:6-2^D^3;+."T]F'%@,5_ *HTZXDV M/QW[JN8K'&YC?+NHILD%1R65JTGU=5V_EB09ZQ7:"AR08Z-"N(I9VU8%L)]?OA1@ M:_5RB**)XBTUP!7UH59K@]6C$E67VK($!C>=>#G?,\0+W<.Q5 %O? I4;Q1; M]>F H?$U(SH<@8HS0:F5P3- BIJ#[%T-'W%QV^\5X/A^?#*N-CZMLJW!]%'L MM2YT-EH7-G=9%VZV6*7%>B(;K$.6BW=7K7STX%F]2G+*]XC. YZPZP;W'K[U M/#[$K]K2K)O#LJ@B7$2AL!2%_AR3??P]]$L*F3:&A"X\S^%TFZ](&OT#AU^2 MD-H7=7+0.SHH58+0NS2:XWN($.*YW:E1PG\!/5VD@^A:SMU2-YKXQ3A*O\E@ MC'?'7(*8$7!:.W*&VN4+DJXA#D6U.O!)LD@Y2&< @YQFV+&GE(19=RP/KB>; M^0$OU\(8<\'30ZWD_5:M&R^565S215\Y94\5M@3,;;.'^SCF<_-U'RU7^>WB M2\;-*JF]5\<[1K9>!VV[$RV^X^)F\0@V6UT\[MQK]3+.<>@77F"ZWPNK[$%% M&,%[G.!%YXUIR;=T0\#Z6[1KEKTF_\'4$L#!!0 ( *2" MI5"+LK#M!C, -?@! 5 <')L8BTR,#(P,#,S,5]P&UL[7WK<]RV MLN?WK=K_P>O[F;%EQTE\ZN3>TM/1KFUI)3FY9[^D*!(S@QL.H0N28TW^^@7( MF=%H1!(-/@ ,IJM.G<@2 '8W7OWK%_[Y'X_SY-6"\(RR]-?71S^\??V*I!&+ M:3K]]?6WV^#X]O3R\O6K+ _3.$Q82GY]G;+7__'O__-__/-_!<$GDA(>YB1^ M=;]\=3;-]^_?__A\9XG/S ^??/N[=OW M;]:M7Z^:R[_&^:;#=N,/;ZH_;IJ^&/K[^[+MT<>/']^4?]TTS6A=0S'HT9O_ M_/+Y-IJ1>1C05$HDDK1D]!]9^TGB&*Q4=)#'G(@5NI+CFI2$ M1<\8EE_/UNLI(]$/4[9X$Q,JOG[T4?X0R!^"MT>K6?DW\:L_S].3%J4@NQ8^[^U;=T"+1=^%]0E0$/VO41NSV)7',HU>, M"_7BU]="11%_F1#.2?RY^D;C=5I>%"4AXH.E2O /.=M[[LA@@6A/K<9D_R>F?;VJAR/ @ MZV,01E$Q+Q*)E .6SP@/1"?QX1E),[H@@:!X,YU V*4WJ$D@UH4RA&8(S0; M-%>3&Q(E89;1":V,,<=S5HA350$).HRPY]#-$S:L(E"$:GNJ:R!40ZB&4 VA M&D(UDU"MLY)E ;+]'-!T(?[%^%(3E]7T- F^&C^/" L1EALZNR=LV(0>E^L] M#O=Z0;H@AD(,A1@*,11B*,10B*%X180UE%P'V8T"]@DV/Z8)K92 MC&*TJ""$%,13B*?< "*>L&$33UWQ:9C2O\MM?LK2C"4TKJZ3-+[>.@*N)C7+ M"9Z.-=9G$+TA>D/TAN@-T1NB-T1O+J*W<6]^LZ O9E%1_A"F<4#*%1_0=,+X M7!/W 0G/ MX]-4<+E-+\3V")-_D9"?I_&9F,XZ^A1-1Z?U;+6Z*@JN":L?#-*-R/I6D-C4U1ZOX4!M]6W\>G::5AAW'XN[/5O^1._BH MT5#:TM8LM?*.O.)W['NS4;>QI5E*KYE0BY+_1Q\:;GMU8[/TEJKR%;_F;$&K M]YE:*6YH;HCF4[%E>)A<"O7Q\?^092.Q#>U,45D&DMWF FN4[J;LJLC+]\"V M'EAZ23*@DRGZ*X5O4R)>SGFM @-I;HAFMSP^U4?/YX1/A4 ^M#)$X64:,2XV0:EJ ME@?EJ2S2R9>M5P&HES$.A%X71CE=$*&#AJN=W4)Z6W-#--^0*97&HS3_&LZ; MQ5S?S!"-MS.2)*H#H*Z1*?KF89*<%)E0\++F@[ZVE2$*[\+'RUA:EM8%B^J8FQF@[?XQF83HE M#:=-6[/1:11P5^J+M\OY/4MJB*O]NS_^V;9MY;VK#63R.@2'FXX@X#9-3Y?' M2VX9&$A[NE 4(FE3),$2>>>'1%K\:6!1O/=#%# O&5@J/_HA%: [#BR6#SZ* MI<'S!Q;*3WX)Y:5/!"R)G_V21*NC#2R47_P22HN7%"R2CWZ)I-W+"5?3O%)= MFPS5<'%XI;9JF)GA$O)$C=4P&<)EXXE>"PP$@,O%$\T6%'0 EXHGBBT\5@ N M&D_46VC@!UPPGFB[S?&O<%%XHN.V.U[@XO!$OVWW]<"-;9[HM2W>&[@L/%%J MU6XVN$B\TF(AT5APT7BEQ$+"5>"B\4J/;0F;@DO$*QVV)=@%+A&O5%= @")< M,I[HKN>*R"VX0#S18,\U@YG-IE]&F_11$@?W81(*6!ID,T+R+(BJZT"6 J4L M#HHT+&(JVU7"F9&<"N5IM,5JWNY4:@',E76 M2WQA9+WYA7%X,?58Q*I;G;L>$,F[)=,JJ"X:)-RXYI^$VM51L&0<]>_TETR= M?@N6BJ.N'3VI:!LOP.)QU,_363P#[25'G3T]Q=)K(SGJY>DI$D><&66]_7Y!5SV M8S!E+/Y.DZ2LB<_R&>$!%9],IU1,>!!F&='&9GJ#FL1G72A#C(88S0UPXPD; M-C':I]7V/T[CR\VV/RYW/?R-MVZ#(&9#S(:8#3$;8C;$;(C97,1L?>YU"]CM MER"3SK[[4,@P$*T?2)II/L\&&\0=>*<+%^<0N6Y_'0X MI_%U$J:R4%"M#FKB4VBJ1%,EFBK15(FFRC&8KTAM@7R^6+L;UU.K>\HQ=\4$NZ!;?XT=N IJ(5 M"?+PD>C&+C?T-ND";R4!'=\[9&$T,OJ:]M77=%EN\[OP$1Y[#.F"YGLTWZ/Y M'LWW:+[?=XSEJ $.,59/C 6_Q5<,JB5Q6_Z]"/EV' ML1!_]YP0Q90I6N\I^58+,2$:W5-U:KBC&G%J8QE:V(;==\T<,2IB5,2HVY)0 M*1I,7XWT130 ?ME0FJ@%E^C[("7YVJGX0+A,K)VS-,BD&S?(Y<;0]9/J#&G2 M>:I/%X)ZJZ!>>]94J+[C,C"JZTQ@;4G"Y@.5LJV&[CK-+9[=7P1[CD*]SI-'PCW]5@8=@#@ M!4UI3C[3!7E1"KO(Q].K( M^%+1%E^E-R0J.*?I5)HIE>5QNPZ#T!>A+T)?^YK'0,<7HEU$NXAV$>TBVE5# MN'XJDP68]E,P#_E?I#SR@TP227.9&],)I,$&,PG1="A"@&8?H,'F"P3/=*;> MI'+Z&TGB._8ES"5!R]L-82I]%=S/1DFB!V5T M)B,)JD,CRXIY];M6_<[OO"#C+]RDJ[E)BFI_?FRH>ROJ4T MSXZCG"[$NM3$JWT&M2F,^J=\MU=I1X'T'=@-H6SOY&=/=EX7/)J)%O(18^V# MP^ 7W1-CKR-WW(]8%];][G[9>1[T.(UW?M/GS!KODVB70[LK 4'7\U7EN*(ZKW8)DZ_@R]CDS[ MFWG 4OMQ7Z5FVBP*ENB'?96H<7N1!:?11_EH5#$O$O';=6DPB4DXF8FCBRY( M(,3?,5.NT]@FW4D]"$3?DC'?4B.0[C1](']*CX5AQXQYNDU<]8;N9T&AIF52 M:Q0T-J*Q$8V-]O68,4XRM#RBY1$MCVAY1,NC#CKLH#Y90'Q'1T%&IN6_.7F0 M%3;3:3=\!QC)))H#DX/8S1AVJW;!A=A25P^$E[.=G2P_$3;EX<.,1L>L-!#;!Z[:'LUZ43>T M16SMKH,T-0]=/K-T6A8^KBIH[:YE&&[O-HAY9E=[-IW>5JL\^T+F]X0W<*5H M;9[\&[(@:5&>/N?BXN!IF)P662X.)-YQX@88$8TO:'Q!XXM]F-#_9D=3"YI: M#L[4 E BF8[NMN_R4-M=H&KWOEN@8"M#2UG<=Y&8M$LZ'H>%=DFX77(PE.'+ M_E&$3O4U,OFRQ]0KJX_AP8+!&_C\84SRD"99D O"BS#1M(7W^XA),_D0E*(% MW9@%_:N8LSMV0=,PC6B8;.ZWLVI^[IY/S[;!6:^G>1/"]O-NLKC&\R?@&DP* M[9U@)H9QV/FTVE77A%,6B]M$'H7DC%3_;6"GO9--=M#>MZ\J8I?-;]T*A487 M!T 4QKBU*+/EG65X0H_V^EI55;HFDG#OD)J^Z"KGRJAA8=X)-[*7:;5JOB#T.E,'N(+P@6^ M*/\H.=P\XCVT=+M1X;3 L]9-6"IF:2Q- %_#.:FUZYCXE"7!O2AU]7*-O"A# MM#&;5/M.])ZO2K2MD'";^$;Y(+I:T=6*KE9TM0X7Q?S2HL,45I5]Y[K=7,%, MWH*^B%+MJ&ZQ#?GBK6]<3ZW^(5^X;\\):; ;[SOSK0=HBPG?ER!LY1$*M%/M MNSS:UT&SEPG,M^-%%1'5W,]*2+C+4X-XGE P4\ F6]PYW^@-8C6NMI5)J%&):$EK= MB@<8A]EO* M-\JXF/K5G#>)N:&UM]5,,9P)PYFP<@3ZG 8TI0!OV0-R%_57-@_(:30NCCI M!]$(*OX!>H^ BJ$%2QJPQ*.T <[+=P'#Z92+V[O\<:N(34!6KL*5I4K3!#S)"QK]C!G]&A]M&'NFMXUIUH@P#[H%H*0Y*9_TJ:3/;MG8+W#AC!T7*_ M9P9.R\H8VM#1AHXV=+2AMUF;AM7P#]#4/HAV=$!6]X&5Z@,TLP\#QP[0LCX, MC#_ #(P!36(C9E/((/D]DUX-LK3@UVDN92\@2#&OLFB"0OZ5IH& *<$B3(JJ M!9L$;-6@FS=GG(^[\1) ?P[0).,I,"[7^RWLNUAN:_74A(*)0 MLHBXY7-30FW[KH,BQ:JS U>=;=MH=X3/6VMTC_I!]%6AKVH87]5(BBAZJ [' M0X7E6PUZN@ZY?*LF,O-%'B8\P'M;O-"^!]B2)%HMTX9AD'<[32U< ^J]=YO7 MW)*%F$/&"H&7 UDQ^VE)&./'&! 7M 5MO>N,.5,FW"* M 9<;NL=\?#4276/[(5)TC:%K#%UCZ!I#UQBZQJQ#:,OJ*#K)T$F&3C)TDHVR MGH9]W,IQ::"+#%UDZ")S3+CH(G-YR:*+#%UD+8@F9YOZ%"6TF0@>2WQ#)+:1 MOR'9P\/X/K)N=#CJ).O##'K)]LI+UFVJAW:3]5EP3AEPT7OCA$C1>X/>&W1" M-'\P0#<$NB'LN2$Z7O?HAS@$WS,W"S&94TG09(HF4[?% MZY3)]*=@'O*_A,(D"_=F)"HXS2G)@FS&>"Z.L'E9XC=AZ;3\1WWC;E;2,3YM MTC Z'OUH"[5O"QUC=D'FS_&6E4G@>Q*F?]W1.3DC#RRC>7NT?7MC\\2?AMGL M.(WE?\[_NZ "867Z914HACY0^:S^HI M;IVE_@/:$ )_8%SLKS-RG]]N]H>"3T ?*X]#5"_07J:9T(I*5:-Y12I:FR?_ M-Y+$=^Q+F$MQ+I_$VD"_JKD[#!Q'43$O$OFZP?8+>+^Q)*;I]%-SJ'W_ ?=% M")]9ICO/Z@&#]!?WY+#1^S79?='//$LW1!P45 *4^J.\PXTQQ)#H:/#OP?D[ M@9^S">&9F/Q;PAWV$UL0GI;7]Y0( M\DBFH)Z%UG$+L^6#+:SWDYNZF&,J3[\"74[>?3'3]"2,<*Q\KJ:75(] N!J@-Z(?P[DSJ)+@&CX9#(4[W85(6 MKV&38":8R-E\Q400"PWW6??!5A=8D+:$U6_E92L?X+U*R=V,LV(ZD\_P MRN=XY6NSIR'G2W'C'L]9D>::G/?\BJOBDFB1IH(32?ZP,H(-C;YY3 ()OMDE]I5YBW857X. M:+H0_V)\N?53-YL(:"R3]@P-@M 68=\6 9HND!U!8^)-8HC+-2F?>',P_?-& M-O'^AA)QHJN(%4V<(/4F_"[.6<)I^&+)@-I:)/WW=6'V&W$0\D6C::BY@]5L MB@U9?S#^UV5ZS5E$U(N\MC&:)- D,8Q) G81H#D!S0EH3D!S0@-\ R@,WBT- MF$!:;N\#A/GMFOL($27N1^1HZ*KCQ9"ZOV!JT),%6]#[(!5TT%0T)/)E*%G( M<<[2()/5D3GJ/LQH5&:AQ30IQ/+;[5SUZF9),D")23N4,7;0BF7? MBF5@LD$V,&.+SB3D/0]Y2M-I=DWXNF8;C1J0;VW;X)T[Q)]5H@:2OVIMDX'+ M-.+E"@N3TW(Q58]V'>_8R]KZ6T]#]=H#AIJ8/-"$7?W9;E/6@JD MU+9!*Y=_13'^('0Z$[OT>$%X."5?"YGP\-I+Z@L>V@UAH#=O[MESG"_D6.%E"T@*(%%"V@#8:*%OUEO"61$^YF'?1> M]Y5W^;X*"]>PBOUX:7G.&@E[*H,CFE5=W9\@X ^6RP=OY=)@4;!@>?XQF#(6 M?Z=)4JJN+)\)396*3Z93*I,)PBPC>5;SFZIE/@O3IQ&ZF9S'),&DK7E\/M#( M;-_(/.8L@ZS+XR^S'E:,C.=;%@SQKUWKA?C5GU_"1SHOYK7%*1O_;H@TFK:3 M5O=W,Z3=2,6L9A_4_LT@28VRJOFKE3+^#^*JY;=LDG\7-^_E9EL,3(KD,YTTV9YU MNKK$V'99E.,YXSG]NYP/;3:;!K(:CMQ"[LGR2_A?C)\FXDIJ?WU!=P2GV&Q+ M,H!V>DM7)XQU&<8K-UL-7IH"0^\YU'TV7#:1L^2)#4(W[;GC"%Z][SV7614/RQ=O: M4W107]C)$M,SY(FE4G0?G[@#V4_PBCG"ZZOVG0 M\RLFH]P&(14#V7;(LA#(UG,B0;%J@RP6HQZ?34#\Z1:U6U'Q)\N7,?,"N\57 M)2?9^:-\F2R3&FH5+M[D-!KK.WLMLIV ^]5?R#6G4:/WS>S7]T^\%XQ/",T+ M<1-D;XDLUB WW9V#R/ MNK/E00S8#T,S(VN$W'2C8=JR]/G85P5-!#TMH7%)67G0-50[; M&]HBMO:D@C0U[P.]JN8_G:ZV1'L9(45K\^3?5&OY0BQE(=NUP+ M;+=H*9K[+I(.H3YJA<@[H:A.$1UP[UUI!I!PE'8@[^HR@,2B,DUYMUBP4)"+ MP90NNI!Z&T-<<0>MWEK=!7$#^GU@7[#NX-$A$STY.V2-Y\DY95S,D)B^;VF8 ME".1^#B-8;X5[QT].=YY9G0 ],IP]: M=\CTH!K],SMD8:8-9MH,O]FZ.V!Z[&WTQWCGC]E/M\:U/-%XOKQ.PC07&OKY M?Q?T05*V]:K/#@]M7:Q6TD0/#7IHT$,SIH>FVXV'#AMTV*##!ATVZ+!!APTZ M;-!A@PX;]\2"GAGTS*!GIMDSHV/T,.NBB39ZA(!E]Z&@+R)!-B,2GD4%+]FO MBB\&11H6L;P;X/Z8/J,;!I&<90WAH+GVEX M3Q.:4Y*)8_PJGQ&^]:MV=F!]K;!6S(M$'H E4;(@*"8I-O]W&&6*/[[,RLQE"]&Y;\Z2?AME,G"WR/U+%7(1)"=GRTY#S)4VG MOX=)T>2PT.IK@;6G;=;*14,S\P2?K9#+YA;;.NR;W:/ 7N;9.1=Z.%L2 3?* M,WZ+K/9M#>YGGJ5/C,7?:9(T4+[[9_,$7J8+(2#&E\WKI:Z)>4+5.M!6"YMG M^W,=K#PF9BR)"<_DF9+(56?29B1]:I9MD\+K),SS"@G!]S/-DLW\NV( MJ\FWC)2J-(B=ACX66)% MX( ZAEI:VN)],LT#],I%5MX15CS!"B:6V)@6SD& M34!K!QOQDRMU7XEK6EI:(?LAI/'YHWPXAJR-61"0K]%S[Z-9[3%R(T/H4A*? MASP5AV:V99L3^))&M(D=>$<,%=4C^FIR0=,PC6B87+.LM",J]%V=KM[$P(Y% M+!#GN87L7E*C7#*J#O[$'W?:)AA+['\LL6*"!XW5V9? /P=C=2Q)XB6?6]( M>'-\$4@[JULRZ> 6\F7[@&4$-NKY$@<)E@P\'L67^$BP:)H]-V!1_.B)*+2M M F )?= .(65YF)@-(85OIK8(";!(?O)FT4!-+V#1_.R):.H]UV Q:+]Z[Z@8 M8$9KL%BT'ZUW5"PZCCNX*N>+OJOA:H(+QQ=%%^#$@@M%6\=U_V[N?"D[OD!@ M\!D:H>%5 A" Z1H\U)YDX,NRT9.-9J2@+UA:>P'IYA+X@JSU!*43T>,+X.ZT ME%19-EYA;3T)J2,F?4'=@^RMWBJAX_A;3TA:D?R^8'/-=00,R1H/HN_3$=3Y M['%< 8*!"VAL@R\..@"_SRWH[>&!OD */;&T9X/YLX%T9**;QNH+?-"3DFXD MI"\00G,M]4GZ]@I8Z,E-'6,&?SZRQ@$_&GK=6_?H^N M;]6<+I^P43JG.YU8/V>'+&?JY]03K&A"*C6Z&F#K4R0(GW]Y3E) M^()&)+ME3Z?P"VY4'2R4%5CI5]>$W\[$1:*8$%5S^PR0E/ P$4OY.)[3E,J5D(M]N@HC:V #V,L".UQHRM><31JS ML[9:V$Q+>=+K+X26=\K$19468F5<;1[=/2$3QLF68^'\44A9**PT#?FR-/%( M4Y_H*32*I'RP*B="-6DNOHK5Y M\L5%_K2N&HA^UL;F4MEX7%;2:R+X13NGB%:L<&5[BRPHETK=XWLV92_-,>+( M8\_):K\;89ULY#-G1*!\F8=R1A8D866<;SLOH#XV6%F0M"#K>TRN[C]H/CLM MLEQ(F@N!)P(CIU,93R;^%S=#K1XC66-;=0(T-;/Q'%2I)HC54X7+/IU*#:2K M.V#*O'^9Y7\0&2!,XN.%.#&GY&LA:]]?35;8J,1)V5619WF8RKW8P$W'49QA M]P6%;2"XTQCNLKJ:I#.:22MZP:OMHSCGAAW!&)%LY?+3$IS?OCA2'NC6B:[>_C!1PZ MO+-T;/I>!1UJ22BI3482K1#EG.I!+)8C.D M/$[FC.?T[W*UR/,[JPIB':?Q-2=S6LPS61@WR\M9W^&HWV!!^HM%_N/_*E9T MW+$;(E9Y1,MBR$^X[X[)(MO7G"VH6,(GRV^9+!ZRP9''44X755:DXDW:$3_E MX9.VP8\^,_?!->8$3*-,%L7ALG;0&:G^J\5C_1 VHZU?U/H!I40 >]E@1]SI M$2V/5?%S4IVU:;Q]W#;R!.]J(>-M,B&14.W.'Z-9F$[)C5 OKM+Z5=; 8)NEK5#FH)W"G.UV'BVD=P@W]G%LTC8*U*JFCCJC3W, )YB4#L6G"H#*E[\U1MBM@VN7T=6K%.M;NO9U M"C#/D,&LKF;Y+DL-)EB]J;:-"1IXA@]@4U.#4ZG8O-T'Z#[0'*>KV2%V'&4D;K4ZJ\8OV5B]! MH2&7=K,+QF_(0\$%Q,O(U:2F-N(..^J.3O"U*JU_QP0>D'D LJZ:6/."ZG5$ M 8FE.T1,1!O([SJ<$S*X8\>1@.B<_$820?J7,)=OX"R?WL)1,*WL[Q:7JT>0 M5"9U93^WN&I\_ O*7N, =OGD+"(D+H,0+[.L$*HD6;O/OZ5QF; C:*0+B1SJ M]YAD*-OD]91'S]5#&<'8)!H3W[0KRMLP(65>0K55KR9U3V !Q*,UCH7,>9TS MO.&$MHC ][M:@;CLA2IS(;W3RE?:U5V\*;NPGY$DH"G")'1,0L30E"'A^09K75;C1_?XLO!&E=2SAYYT0Q[&6[$6'L T)6888/$E M6_3Q)LB^\:88OZ)+I.44:^Y,:.L),A 92^)!>.=1#V M$YK^VV_F$=#0D@/'1WI5KZ6?%+M',?ER_/6R2H)#VSS3_GJ(8_OUW>[1!9[I M@B/)4QF,XIE>.)(8P1%+OIR) \FQ7PC(> JBA5MZ&(EVCR?W1=ON=5N#DPQ\ M<>7TD$/#/AXYTNTPKG5=^0\5-GP8MWU'Z6J$H(]WS;MS,VE*L7L6FR\WTS!R M[)XF/Z)I:%\799\R&./9B![*[PM%AN?^"%51' 8L3>WBO94TS].]O'LZU:)Y MDJ7EI!K$E^6"]/K;Z,\F)"QF-XPN0ZIV'\KBW<[6Y ^EBN=-=!8ZOGWNWK^ MC5QRF5AKJZ=WJ@M.AH9,TW*4MG)8ICYKH8[6DP;?NAX:VUDE&?H&9EL7JR7: M!F;%9D$V=:'3EYS 2J,:+>)57DR2-):*[5Y;DA/4%A/Z6TAMNBG+-S(8)W2: MGA9"NTVCY1T/Q5$:K<*>RW\EE3Z\.9,5ZVRK#V;9ZF;9EM?J M"J-4DH6GVZK[>I-W.Q:Q0H#2=4+BLX*+G5GIRI66HY=^WGTD9]@N<<&V#^C\ MD?"(9D]8&<:T>AQ++#_Y$6)QUXI#F?*ZZ6KC%CB$U:H;,$+;P*?&"/8Y?78 MMC'TK*%-#-:';!#>VD^ON-[-=B#E"A0\UDE!K:!Y)Y16EAG8IN1=ZC54+AJV M5^^RRJ R@H X7P(-]1=0-Y^$+T$&VO("&/*\.XP<++1BS>76!=Q08T8WMU@K<(RZY4>(73.9ERLQGKL:F8:(3K. M%XG56ZO&"X!SCP M*/#0NK(U&#&2/(='9MKZM%03)(1>V.#@3C:6[&5=K&7#>51#MZ M&[R0J#I\QVS.8,IR$GP()B'EP:(\8.8DS J^RIC;^CV;!),J93),@K"JL[AJ M&P+EGY MFS^?9MG*?*]X=($4"QF8)947@H=2*Y)UQL5E( C>D8ZROEIDZS)]$+I0*>BCUD0? M0 \WV'BGS<8[%]EXK\W&>V?8J%OOK5AI,Z@)R^IN+H=E:YH3Q+BH+Q96!*3A0 M[X8%W_+'('S* PZ8=*D'T;9//1"D9LU_Z.9$'OBK)KW%HY".;N$=LBRXA0>> M6)#_=Y3%9-31^T1^;>('M"HRH#.6^1RH^.,)F3 N[HXH";.,3FA4BCWK42 3 M.*);8NC![R:=R6)TPJZTY9-"@)(>5=)67H6L*D0PQB>PAU/!ROH]6J4?LB&Z/U#AWW9_0IRP8&1=X):T3;\]Z:W^W;G@^G MJMB^[)-6>0R&V+W;6ZUB&P_UCN/4/\/F70"#44M^GWL^WWZSR7( MU3/4DC'JW?D>\OA.?+;%5%K;QH8Y?"U$]3.%K6TM&.]J2_T<J6N$P%-T49/UG>MG>S,%T5M[E@?$+DRZF7::67-%D%S5$0I!\] MEG0A]O(?A$YG@N/C!>'AE'P2@^=GXBC8Q'_8F@00<39?K!M/ B6?F;5=\/SS MAR!B]S:!)GU^3M)7EB[$Y4?BKT7+_6CL^U9=9@\F\-3WH^><]A0+/F71O#VC2Y[0BE#5)X>D-7YS MS$]AH!C641@F=&D (R)&*QU.M%*];9:9//5\$:4Z+J/%$.Y+W(%R/0$LZ[[( M F.5,%:IA[/?EHEMO.V'$M>V]XQW$%AXA M.#T3"H '&F82U)*ZM9JJ1_5:!'H"_&8#L[-1B#C3'8&(/M^/6!,=@Z@JM XG&1SQBG?Y/X6QH37@;+ M54M#4I^=/Q(>T8Q<S'&+Z *8/8/H I@^,LIY QG1?I($)!)A ,'1XR^CZ/:8/.&2JQ/0! M#]('Q&3?L\,6MK;]"Q,(/$H@.,@-T-, /$(*@8,5N>T&XXV7,'#(,M8,S1LA M6>#@3_H!Y>I6^,[EZ!B[LCP-TK<;N?+;/ZB_P_ M>3F)W_Q_4$L#!!0 ( *2"I5 @B[.H;>( &7%#P 4 <')L8C(P,C P M,S,Q7S$P<2YH=&WLO6ESX[BU/_P^GP*/D[GIKJ)LD=H]'E>I;?>,;[IMQW8G M-\^;%$3"%C,4J>'B)9_^?P NHB2*HF0N((6JF;86B@1P?F?!P5G.IN[,0&\S MPW1^.9JZ[OSTY.3U]?7XM7-LV<\G\F@T.GFCUQSY%YW:Y&GIPK>);;!+E7:[ M?P+?AA?2+S0]NG;Y.O_+\%(3ZZJS?*5#U.-GZ^6$?06_D>566VYUY/C=]8T# MZ9SHIN-B4R71]8Z6-#^X5C[YO^_?'M0IF>'P8OW-;<$ EGX0#D@W#=TD__?E M_MN):V/3>;+L&79URZ2#[+7:P_@@X=+?-R\K_3;VR.39;'N>TE+ZT3I:ING- MDN^CN?:)^SXG)W!1"ZXBMJZ&O_.<%OUJ08(G[$S8K\)OZ,,&RQ3P7)L\;Z3 MZ 2^7TQNTW5R)S;!V'!LR]@P'/9-PG <=VXG0XA^0W\P7/[!&FV6 42_GF G M I#N6%U%'J1!SK\B(L9V2BQ3@?&$F\@P/9]AW 6:]>UH;JWR@#OU3(W8FC4C M2[^^O_SUJP[S?7:.56L6HV\VZKXE2HXM8]&(GDPM^((2:[1,K+EM3):>,K2*BZ1=)0]'5#7C6U83+R9LZ3;Z>?I/P ]7R3-?>M$3^E_&?G?\)G4T)UL[1 MGQ Z4+)18[7ZG_6^Y_<T:./ MP4O (+JS;!<;J(5Z)UWV)#0\[79.VP-T]QVU6OX=9L3%B ZQ1?[P])=?CBXL MTR6FVWH$%CI"JO_NER.7O+DGOJ(Z.3\["4=Z-K&T=^2X[P9@?HXU#6!^BMJZ MB=K'LF[^C)[@!JTG/-.-]U/T/W]XEOOSHSXC#KHAK^C>FF'3_U!"[&,).<"S M3\'O'/V_Y!3)[;G[,P)4.99]BK#G6C\?G9]I^DOX7$UWY@:&^X/L)?0[_>V4 M#I#8_DM=TXAY_B?Z&JZX\<6"/[4W]YXJ7.W?(27:_D?BS%^*_FR\S:P:[?;Z?='9R=+P\AG6/?D67>H M_G)OX)M-HUJYZOR.,CGZ!ER.KDTUYX&-9\34X'_WJX&?CY"O5W\Y D5\.K% MR6#S"1L@_\_9GYP??L%$D/M5=U1L_(M@^\K4+H%'CLY;+5F!BW-^WJ6E>K/H M@7=P"TO["I\Y1^=_+_99='+!D^CEFY[UU<8JM6H8,M1^6VXK_?[@:.G9^M(# M/5/W/_[Q<+E,/M"KFN5J1-5G&,1!\ *T5*L3CC,0NZ=CP[!>J5[Z:H%,\B;N MDV>,52;]G'NB$OT%3PP24.L(T0G!KSM'Y[(T5**%"P>?/IOA^FQ S3%J5SV; M44_992X#N9N5,@"UARFV2<8Y7=]\79W4'>PI"(Q8>W M]?<[;-_:#RY5)__ MAD<6]P]FTP99=@S";+?Y]++2IB;SZ6>B3ZXS83=SQIX[M6Q0BUI\!G); @5# M_]]M&@D"(($LW$\C@?,_2(UUWD^:Q;7C>,LSV&W@2KNF Y='N0.GI!67ZSKP M$C7"A36;66:!XE,I41T4/YE2=$%L&JD2M+>?"%5*T01%3R)_/9!E$NNLK?2E M?G:9\,G1>3^''?#JV..#O)W3 M%?&G\N][;#[[UWS737WFS9:G&%* +?L7F)D&M)@3TV%._[%MTY_3[?67]\4E M=_B=?L2&P/[Y!W'<:"7DI:48)"_%.^S3C\Z[%:T$?JMB)?HI*]'+?R7N82CP M2S/^&I78!_'C!;;S([#D#KRG1YRG#CN?@P$B=AY] M.F4'_!1"K?!4[?C- 6WJ?TT/+G\YJ5/U^,,/S=XKMHF%KLT@YSX2]_$[X/'W*RM!;1VE"\L(7Q3;CP M_C."'1 &Y\'C&<>$MPB_"]_36R2N=2B+NBVPY:M?8/]0V#U?#"JZ4?#-KFMV M Z)A/C=TEQ.#$[0O$R,.X!V) ML3K'2!3R-,=P4!\%7-P'%#Y%TU]@7.>Q2YD6P:YE[XF?M=_3#R^):_#;[:O\,P#2:WZ4M.D!R7V^$(,\CM< 9[RNU-L/\W\^A1L^3J M#X\>O8,98YGPUF%F4&RG'1A !2]@L [DF0[)?ZO!P]ZHU-1=?PQ(T^%;!TR( MF"&6-HVC\P3/@7^OLY/$1T3K&(VD3/[=DUAC3=.I886-.ZQKUR88T[J+C480 M+G5N32+B/7&Q#KL>NO>A06^-H%[RI)I$MK&J>C//H* MR+6I@E'7"$IFGB?WQ-WD!Q *,3>Z5;-%_3B1A2(]8.(+!7Q0Y!:*NT#%73TH M=*':"][KYNR/$RJZBKUN-404JK:69!,JLY2];MX''4/A\2W0,3',U^N4C5A" M"S: B$(+UI)L0@N6X_$MAK@<' 07,L<-Y]Y"Z>>'S>H/\/?S MG6-T+/-5-W67? ,Z@?R$.S[K$X.,'8>XSI?W[_@_EGUA8,<)$A7MWPG-+KLG MC-:K/^ ;RSO,=('L;%.NQV%-&'4J2,XMR?-*TOD7R^D,/@WS8#S7/OU7^-/, M25N;0J $BCA#$6>!4;O@X\:B-L* Y MKC4C-O,$P=([4WW>1)L@99X-%ON"N(#F$UBM-ZU4/BF7C%NLVZ\?QY3UZ^1LL/K;5Z?LW\D(,!H+HNVL3]@(.^T(. M9%'L%M_]DV:Z&%]M\H='&U$N_SYV!>W:Y=FTICWG:,JT1 L@I:S5_G(K83"; M%CMA)"FK7@MS/0^X*@*NF>&J"+A6#=>.@&MFN'8$7/-QA@AC0!@#7+MW\H*K M, :$,5 CN IC0!@#)<$U[B/"IJICXQIN:'MT9 Q?/QY8II S-K4[R]!=7<7& M@S>AG17H^O'O&DJ:U8*0V:97"[MN*RDO+'MNV3#;2S)Q'RA88;ZD[A1,G54S M"/?CX5?KA=@F^^ 9I!',KU$TS#K!>I'S CM3D"OT#TVR?,$&"=-'OV#S]T=8 MJ$LRMQR=]SC"S1-9D#!Y1O4BV&;!.9L1FWYQA^'>-Y9[;:J&IQ'MG[H[35X= MOBF:0:KN.^5:D#P>$"+,GG+-GL(V7,+L*59/EDTX8?;4DIS"[*D9P839PZW9 MDU?5 -9[.[S]^*%D&S>\*H#D&Q MU<+H\()>,\*H\7"I+5&3ZM@*HN9"U.KJT KVY-0KFDV,WA/8-^FJ2[183=V& M&'2)RX\VMAT M_,3ML?8?SW'IC_BFV^X-%U(F60^R[MP:4Y"U$++FVS R22\*"E= X>JUZH?; MS0DX% ,'#AS\ @.5"OW\ Z8%63D@:X[-HC;I\@O+="Q#U]BLKF%!?-+>PJTQ M;7ORX \\K$T6+=H7S]%-XCCA]WX,+RW-I/G!YL$7?&* .MB39[X@_(8EV-_) MOP:\I#4,PM(VKN1AF!0"E0*5U?95+EQ67GFV-2<"CQ_!8\(:"ODHD-AL)#98 M)OXOGF-3 /$C0%Q?0B$1!0Z;C,,ZR\-#@-4!BQE!WD9S[Q8M$B7M_S"Q85@J M=2&.34THEP\KE\PK*X220*U +4?GA,*QRR4T2W'L%E_?2:!+H*NXHJG"ZT&F8KCI[$1_ M.[6)8WFV2AR@>_)5AC ]+TEW/T)X3.Z OXB]#__/D-MW]FGRU_>S9'COMN M %FV'[6S5/4GKL_(_J0%C;T9_C ($_PR1,\N?6$9[KQ?HK^YP_/T;TUPZ;_H838QQ)R8.1/P>\<_;_D%,GTUD?G_EC.3N8PB@H>?X;1U"9/ MOQS]V;74H_#Q.=W_Z/P13PR"K"=T04D%Z#D[P>>9)ZO"+XB=SW2'_G0GYS]N MKA^O+M'#X_CQZN'L9%+Q7SV@\H8O;[]^O M'QZN;V\J&V,['.,_L3,%">!:IH0NCR^.D=+N=4<5CVN)<:;V^@C>$/968=GAIRU]AI_AGJ9EDI_1JZZY4_J GWY&4Z(_3UUX,W]+ MGHE*[W.*[.?)I[:$Z'^?X:Y8_?W9MCQ3:R5]?X1.-B[7SJ*@$#A^O;W_CLY M?,**W'@SN%)%)J8J22/ZZ:6E>E2LTT3;(Q2(WWLJ/C8<%!Z=R^W6WYD\7MSP M/(86SC"<.58!U+\<#7N3]^Q_3NZ-G!KR@V-G$*Z@S.%9*5=X"RD79*-O$ MT=\];(,H--[OR=RRW2/$ M([GW2?N,;K^BQ]^N4,PZB2R3\<4C_5H>=;J1(%]CTSKAJZZBDJIKRT;NE# Z M3,[1'R$C('^GA @('2V8WS8NNF,_N?(/L)=XZ%2C#A=:*UO#[^\$@QF5D8F^ MTZ:%J"-+B'ZZT0[87\KW1L<#^$-?@JS=)/&7!+"B'%-SI\P]'!_#!(18]A:K MG8^1"KW*A5YE>;PZ=0SEKUC;S5"LC_?CFX=KICZ%9FV@9D5NQ .A3GVRK1DC M#X@',QP:&XU&5!JW!M>>(@_$DFWHU*W [NP+QSSYB M/I3@.Z.]H-JRXC.76-V^19=ZB8<1%VD#,G*CW. MT9!N(MUUD#IE-OWG[49;J:1LC%76:W](]10B-+8(!\!P$"(-8H6=AE]8GNG: M[Q>61M:--(=>,;>M%WJ?[%LWW32)8[EX^ZZM&:OZB-^N@\-4E:WL3O*W*[? M;AOUE6'V76ZM8/F) 0V!662!762C_WBV[FBZRDPC$&-Z')3L,OL9F_I_V?O/ M]0/,I^OC^^.'8Q0TK[#1,CC0C76\P45=*[)F--%K,>Y:$F"[8!IKFDT<)_CS M#4QR.:-0ZO6Z;70':"6 WPN;D-_1I:V_D&:(],.#P 6\O+4?K=?L_M7L[M;=*I7Y3#YM M9"4J ,2^4Q :%(EC@SL MN,AFASI5$GG9P[O9OU5"*,\#*!Q;=W7XK>^0(S:LUMRS'8]ZYEP+P15LXR.0-<\L%@9G!V-VI;OK_L$#,X$MVZ2EB@>O1AXD!F>'! M6(\SX^!1=_W :(+5*5*!'YVM%DYGDX43K@"\3EZ%X/N)Y;K6+/42>HO8TJ_^ M-$14C!;T%XGT"'ZR]%UERVUCIMH>WF<3R_B49DX>!OYN@L,'!C_RYFL'!-+M M=:K#)PL1N,FT=8?!2^5K*D7^$_9#=_LIDD_\6^6&?I+]UMA MBHV6:*"5WF5EPB1&1DN4'CH"+5G3-PG=81O] QL>07]I'[?;,KH#^X"U0UJW M5#\@?3(0:/,J\R0L-E(CD"*^$,E(BKO[;U]VCG39*"X$NW (BY!)KP(Q2F7K MNIN,"MF=/&1T@/^R[-]]-D;AW=/!M+-SH6P#=;=!+,<9#O*-,KPV-7J80]#D M';9'!-9X1G,/7J>$'7!1\SYV-O])#MP&4^S [LJ W0$VC& 313<-?W@ZW3+ M3F%"@@O@QL&NP?^IW*$'8WX<6+"!B.T[0@K3307]FL:!(0V^!<.%7CJWB4J8 M&2,K_OU83*Z#/L%- 6[(\4!U.U.+Q@N$T4KN%+NK4WG%R^.E@_5_',SFL\2V MDI^4V)0G@%RX:/(?F!#]$;L>?DG'$]R,Y8>RD;#ATCWFJ.W?0UWL>DY&#OH7<5:Y!871AS?6K@$5@BV2V()" U QTUT7 MP$0,0(=MF51O&>^(@ Y[1]=4$F.5N7,OL8O]0*@5AEG<([[GOO?@RFZ[1]GA MGCQ[?E,9]-!ZW,08*">>\,<3H9PXG_>!;VSJ=.8!F@5\N8&O[B",#!@T05A5 M ;ZT[J#&*&Y3(9CX*4T7;25\X

TOXT38AK244'/%U=4Q5VBLOQ,L&+3RL3.MTA(&%C&K]@6@\-FRWQ,, M8'81PZ<:7)39%OZ6S <[;ZRZ?"WH(L=PR[@Y \)XE1!H<]QVO6:V2$[9U>W% MV41NDE14 C5@_T^CZG\Y4HY6)M3G:T(A91J$M+VBESB;QL,F Z-NLGB+-^E.2PX.Y.4"IFA;S4GB.OWN#X;.$^Z2D0=@ TF<9[_3AKSH\&AZ+ M3)B%187GB^XP)6UB4]6Q04U=FM)!+Z8ET#1L:PZB09:ZMBDLH?,)?T[;]3"ZZ?0Y\P)OVT)^/MT7D/M G ME")Y_@5K%FY.TEU-U9"'>]A0XOJ1=934#CUL=9#EN8R9*5>'9^\!$'3'\8B] MB,]C$2&$.8%4_S#7\0]SL1/^A+;:=EP0"M2_R$+3$*W3$:66?F5?P"_7?.KL MANQ4B9T".[>+<<$F )0Q80X+S]1]^+"KC@#.J@Y6D//+T?7-U^4"(3!5S7*# M"Y:Q%Y8U[;8Z[:-SI2_U944:].00?VK\PD\N?00V7O&[D[&!U0%RX!A9^W3P^?'# Q8@PMKEC.%^XN->\WZO>\9*]\_XP0Z^[_V;A M94FN2K*QF$K%$4\%5#NAA9\3$J^2M^W',E?[]D3W7^+(!X.-0V\>22^)H]KZ MG)I6S:?LZ+A[,(2]P\\DD:*1]_@#HHUW0M<7HBG"A_>AUW?1-\L%KD:>QKG1 M 5TOV6CB*:M@L9F:R[HZIUKP8+K3/T7D;:I/='KYW?C^$5U'+0&JD67Y MKX)\W&RFXDZ2[0B[KY&7/>HDY"2"L%%4^Z@HS)]/E$9QO2*XOBJNUY6M//\= MFV V4U;_JX,N=4?U_)J,-/IQ;&+CW=&9YWDA&RXL4_./\.@U]\3Q#)==$G1$ MLDPA-*I0KOU&28V.D!J528W.5JGQ=WK(KH.10%,7J!B #XSP/94BAN5X],P* M3RS/1;1U"7'1O>[\+D1#!1JXVRC1T!6BH3+1T-TJ&NAYG@U;[G+05_C0L@7#"X87[M,Z\_MVX_*'&2N+^( -/U#WZ@]/ M=]_C14SH=NB'PT(> XM 2 '?M=- G;!$P%S('8R(CA?V\/R'IM,7/%\AS_>W\OR5_TJH]RI8?9#&ZF%U$#\M+ZH0@N+) MG;'LSEAZYP[YA$56[PM&FF-.]-H==TF+7AOM\K17)OSS4;#"2 [)$2TORZ4^ M21S0+CG+(F](V\)2)FEB>#N%+4:9WG8]H[KKS%TN>V]*"X M6*(NJW[Y!1N8]CU[F!(2$R&""D53X=,U;9]D>0XV-;B4O*D$;$I6O(<=%4:E M?!">T8)GM#-3&G'BYFWUD?&7?5#61AE@0+R[G%-W8LC;VJ MD.(,F5P12.GU)!3^\WF="?S\_8@)XUR8/Q&2MY.%/R>AD&^1W)VXUZJL]3*9 MQ=?Y%.GF%"[W$[]L=8HZLG1V0F9)S:4%' X)#I=$):PJ'Q>(6''1UE[(!3(] MJ)<2U%!I/M2;UP$OE8=H5<5R>:? !1: %H"F-5<;#.BF:9GF\U^5&_8?)O8T MW25:XDZ\F00O^3GEE.8L>HX EO!1D_/]Y4V["Z*F,]Q#WH1GZ7GZSY8X+V\& M=ZWY\D%E:%9$"SIVG W^R8-AB*)\8Y6Q@R A1OH7(W%=&J7/9J_?& @RDJT&0NKRW5ON=*5A@9+J?VVW%;Z?3FY M90SK4;1H0_/CX3*UZ\RB/TVKTEJL&'J66[+9?8,]:%C@3]S6/IM;P2H]:CJ506= I7B=\C*"T2M8-M M7%P"@(THC[HU$@!B-,W@@&[AVC K!_2D;F=0(PYHX$YP[/?#=9!-5 )V"]!, M0B9Q:8H*[7GZRL)[:9==S?(F[I,7M=!E=6K.Z'G>4E*;_M::ZII&S-,0;P.P M'&5IJ,AG)_3J<[;QS/+#(?QPU%.BG[$G1G%GB IN=J]X[!&B8)9@-LZ<]N]] M(<8[OWBJ]6@JE6&]PK5XR!CW$5_<$#=!B/45J3U:;[K:&#*+T7#* OV\U7AW M7Q;H#:1NKUTC%FC@5O;:? &J6+;0=@UD]5'AVBZ"#W#XDINJ+?7:=3+1Q6@: M ?E!N_!-:@KDVX/F.F9KL2N]L\DP5KEOC/W&_4YLWOE**;+C:? M=9K"X?L"Q>ZMH4Q>?#P,0]1U!"C?6;,:*-"7^G*= @7$:!H!_V'QL3&9X#^0 M.OWL;LKJ2=RH/=LWRWP6F8L'Q?;%Q[$DY6W=6*::D+HUD-HBAN4P1U,I$^0> M<[*6]9"="61%&O6;F_? ^Z9O3FSLPIV10;!#1$!H8WF^^,B1"$O?*)3NZ>1N MGWXXON&[F@_1'=:(Y<5HFL$#Q0>D9.J*RC59$R2"L,;8)U%CS;4TBD+< MHD:T4]Q30[+_91[X,O;\RI>WLM8)B2NR038U>972I&7QX3VQ0/3DS4%7ZBN= M_82D@+D01_6DDQ!'B>*H^%(-6\511VIW]G15'"S,RW*7-#H]9[>TG-6^4)U\ M+>+2TQ]R; '5V8A@6IG+(&D%6BO+LBARMFD2-_>PM_7B. S72Y6@!D.I/7%U\<%\25W>D?C_[46?MX5:^_VP# ]?Q8V$R9C4967^@ M;SJ>Z 8[8F6)=ZQC_=0R )[.7UD:GOLNFG:5IBIS/,H03;L:1CA1JR*[9 N; M=AD+\28D6*-FV+3G-)-B#:R,%]5KG^-W&J/&[ZE[E:.I:Z>B4?$QOB& [GS\ M)!0@D8>2LD/]D<-&&E^CJ2WNBR\EEP'W?6G8KE-#GDKCF@I3;[9'- ##C);\ MPY0"_!*@UJ.IE-]S#^E=.Y^YFLT-ZYV0>V)@EV@Q3U,2ZRM2MU:1_&(TS>"# MXL-Z=^.#GM3NU2F\O9D[/*8"C17?."M_SB\E:CV:2F5 [L&J28U\**1BO!^6 M4HY]M)K95JN./F(TS>"%XFO2[&U MJ5HS@ES\1O8_ Q0I5)7GEH@4JIU2J$;%E_P+-@8^@SU2_DJ0@%UY3QM %T( MI'K220BD!($T:!=?A#&30)*ECK)GW>&#A;H(9 Q M\G$FUTH92,.!:,AVD*.IE W*KO&XA0V&4J\ORCQ6K@LU\D2 -AKU^0M%V&P) M4'S=PLL 39%7*68'KW9E'$G]6O6T$J-I!A<4'P2V"Q?T)66X9R'/&JC!G ^] M.:IV_!%5*LY/B26I14%'1LTPZ8]IYD4*\NW M77^AM:PO61;:T?F='9XE.ZZE_BZA,V>.S7!\+8>H+?VM-=4UC9BGH='1!9LD MPV6]H_._M(_;;?GLA%Y]'OR!_;"-7K#A$0EASYU:-DQ$R_3@?K8'#UA7UG:; M_;_R<%9/W/D9Z8Y#2ZJP,BJ>Z[CP@@:79;G],-,HE':VP8ZRW4T^.E^92N+$ M$':0]80(5J?T[W=LPXN.#("''0R;[251R6Q"[.!36M91;$/Y-.X30EZS;$/_ M2VQ+P\XTW:Z/./^!,OX_*#_&[?L6_Z8])Z 1.$T(ULRR"3T4G#:Q^HHUFUGF M#C:#DLUF4'*W&91L-H-";89><4:#DLUHZ+19>$F_.Y1Z2G=E%/2Q61Z5S:( MWJ2/&@S[4K!I]H9(L MYI4ZE=L2HVD&Y/>T:PX1\@VLJS.&F]-5QP8\2-=:NHE4/-==;/!+AEJ/IDI> M[Q2OWA9XN@,X79L7/IAB(F YR!A,P($H+W>0HZF4$XK7>KMS0KM7I^XS#=SP MWQ,7ZR;L?0FV37B,R#5K(."NG-"5!OM6]:J!#JS'AG!!(K_U!NM)99,I,1W] MA2##60WCVD4.Q_HJ?4J3C@G9N/E77@U9C>5S7,09S4_1_0;<=D/4'GI5F0RO+*:KF@S@3D(&<,ZY=DP>B0.5HDP>2; MF<]B'/.TCCIUEZ7YX;NS$=^:Y4T, M/[2W,D:X;9IHC6;D)Z=W&%",:FEBYH M^X.AU&Z,H,U FKUM)\'O@M_WX?>$KAS%E7/(P.\=J=_GK,A#N?P>LZS@Y<32 MWOUW\(;V661OSDXT_<5_-5]WT+EH<*S0<<_?OG;T2I+MML_1;P4N8*3 M$]A\?"_=\.;']^0[;IWCRNR29N(SFA*P5=\!(*.2@,+G@HINP,?9"3Y?F4[L%7W!AN63,(,$29A:<4AB M1>[WS5MQ :T MNLF%3>+R+K1$H70V.;^S+=="W_ $KKLV51 HD_/5O65<]=1N@A=Q&?H024Z? M2^)!,_[Q6./F_^G:!&UB>0XV-;B4O*D$- -S*3#GPIS8X;N9Y<'*?&[>$OPP ML:?I ( M6R,-V**G4H"[VXLX .-"=8,DQ3)4OL-<-[WYFLB?Y( M"\=%=DT.;2NNW 3+0?.Q?SGJ1T0KDFT3K<%D1^U?5Q[PUY5[+V[-[AQP#7T9 MFT P?B8MSL@L_IQ3,,ZG<"\M5O6@=,N/K9U=6)LWOR0DR/'$ ]W"1'#W]!&.FA$BM1 MIUH0&B7#?T74+6#0^&I;,WK(1\?S3]V=7G@.X(?8UZ9J>-3_.G8< O]I?I9/ M%$@ARSU);F=/[Q$E=074%U#OM=>A+H\BJ-.7/$&](W5WZ!%=DZJ\U1O]56K& M"\MA\3'VX6C(?/PWG 0PIHP_3>[(9:I8BK';IU\M2V.!B<1^T57B/%B&MI3K M,9#:%2O2;"M[L/I6,,Z@IY2IL#,R3E?JC:I5RWDRCMC79M?>O]J6XZ"Y;3WI M[@&H;FY%2[K,Z!2H;'NK,H-!XHXA8CF3$K:IG.7W<(P@ =IN@8IN+55M,VB' M_1J 5FPXLZNLX"#)?$;D;4Y,9TNS[/HY[)M_)'%8SVDFQ>IF9:-MU4"+E&FA M[/J.[=\)DUVLB@"HJ73A)0R8"@V8?H%6]WH9$V(8U'-N:A%&KGSUMN1!!R-\ M6 -[AA- "0P/RO0V9<9P;\!9XG@3;'(N%-P]<0B+,J?Z32,OQ+#F- 1,:#E> M)<2PW%@)'QX@(BX7X$@0$D-I-*R!C. $4@+%"1$_189!9$9Q6^[PCV*QE=M# MT_U*3$+K@U!%A[69;NJ.2_U2+R($XC!.RB^=D=25#U6/5[]'KS)" MQ*\;AYYL:Q:J;LL\!)7-K6Q)%QH)D6(E*-E%\ZTE\[\/YG^U:O9 ]6=-P=NK M1.-M "_HO&X-4DG%IG2'<$?635AG]):020[A*%68TB!8B@P_6AF$ ,)(H,N1B]\.PH_, MK:1)%R&EQD4MS/FPMH9N>B!)%D73OC#L^-<]4N14W+%A)G*1U*'DC#P8C__0$GB!1,4&I855E,,)+Z?9E_)A";Y.P* M]LZV7G2'HA< 8.X,[O/+K*SOS5I\P^]C11 M5&J@%:!MPP%:1QH-N?)N;UK-@]7;@G?6>*?4H*O-O-.3>G*U^^I<>:?H_3B@E&C9MBTYS238G5SL'*1]OH%.[HJ]F@':6Y@ZN^FT)%PK^4C<\E_;*%BK^ .520N!D!2H^P*!0\H*9 MZLQ,"2&$%2CY9&:JMKB:<-16\W'=+*(J';6,>1SD.41#K@6+,)L6^??-UW MZ[F.BTT*TS5/D=*7!H.^-&SW^8^DYP1J MT[QYM6B.Y1OR-U^C5 =]UL>B[4 MX.%X.6LJ*G:.!RU&5 0X69,8J\)"&4G]KFC,PO$C.)[(,F#@=3N MU"!S6/@"A2^P %_@V>3\PIK-;3(EIJ._$!14=/A$O8'6$TTU_7QV,CD7?L": MS1 (&SYJLE&:U6]:!TRXNGD%JQ1KRS)-Y-\=[EGU<)_8SKUSB)9PYZO2&^+> M/CWBMZ6,(EEJMT4VGN"D6G'2/J&=A7-2K_)^>D6%?,#+B:6]^^_@#89;LC=G M)YK^XK^*]&O<"8C*,(/F_@"F-CKA9"AL@0)JT.T]4HEA!%[8Z+TSQVKX?@43 M[7;(EKJI$=,-_+@YFD.,D#&B4C-N8=&M@90-:-5P \-GV;+:N-PJH36B\IS MXY0@K-)X$6R^TZ8QIN7"?; -'X.H@,<]T\9Q\*;1=V5V23/Q\=8)%C@4)3%67AG,;Y?WVP?#ECO<3IQA M-+6I OBS:ZE'.6\! (:,T0%@M)(:1=#9"3Y?F4[L%7W!AN63D#<)*L16T6(+ M=M1WMN5:Z!N>P'5@3!PGN;3BJK=V$[R(2]F'2+92+F$N\*EE +Z5S%T_AA'AF>7!6B3Z,>N@:SBRL1;:8F>Q%>@3 ML "8_$Z68VO&];XS61.(D6Z*"[*:' ]4[%R%Y0!"FK\<]2.B%O[E0W MDVO";? X_G5E(']=&<-B"&P$ 7?1E[&)!O-DXN:,S.+/.07C=PIW8L)H\U>P MIYW!GOH!K*+?ST[([#SXYU".5R(@*14!B0N C$%&4B<%-@Z,_!4>!A5@#97_PC2-I:TPK2@ M0[C#NM:Z-@_,H!"TIT.X)R[639K3(8A_<,1?BH,X, 0(K2[V$QS#IG(!E;E5 M"@=RS$_$*5> Y=0*1P"))R"-V6FN )( TDA1'O/"!@)&'T01H]6G31;T3M//M+2Q</,QV^ZT_+#&UETXW="J[#D5^0E=NMM%8L&P[[4[=6@H@L? MZ!. [Q<"^(_DOK([!AD;_H/C*:]*M>FN MLUPO9@;VPOHI1IZ,&U&7C+RL1Y M?RBUA2#G^)&<@7VX-]C#"(O0D5XFK'O# MGC08U: :;OUB>:IR52VOYV@>R]-T_#XYNN-X1$/P 7DCMJH[K/:$-:>4=Q V MX2LJ3"44E,P,?O:JN],I,32*1%I&$UD36$[,?B6<7YP*F(0Z_@G%XJKS@[&; M7C- 7GHVF*IW,&\KJ'(<=CXE&AT0:'4&MB7W6$?J*3W^Q1 MLO\2V]*P,\U@6*ZSP3^PX1'VW:TOG:\"@:W%E7A+X)_;1W*VUY(3BMGOS@"E MN=)VY(CUG=BHS9TC0NS#.-0+W3S88G>GFU ._"!2,$&VPM)EN.0$7_ #TL/@ MBU2C*:%.='$5UP_#\*E;&!I?_CR&@]:$>D98M^O0-8+(&WU]")TA^!4E*5', MK=246*%H#@$=*7IFR*EW:JS]QW-<5G_WT=JP^6>^VLFJK_:>P! =W24/Q'[1 M5>+KLGNB6L\FNPM3:\(N$^RR![N,ZN++*I-_.E*[TQ$\Q.TC^>(A)5L7^XH< M7T+O< A@P3.YG*F7Z"<3;,0AI@4;[=PW7IA@(J2.&Q?-&H0 M8>=W0A#>-RX=^4HNT0]%1\,MD*6-31 TKFXG!;KH[#XRD7I^[7&O! QQ:1(.:^?.$I218HRSUD"TDH6)K1Y;D(7=) M8"+<+3=?VPUQD(Y@DRU>,Y&,HF3TOTL:WG(!O/5L@E,':F>;1-3?4>N MC4W'\*N#X"@)1IRCBG-4X:3A$QTI3II<(M4*.$?=Y."D[IU (ET$ NF1RB-_ M:F-3>UQ(IT6&W@UQ;Y\>\9OP9 HFV8-)-?X*OCK M \WK>6##S,-/Y=9LH7F"R\HDV ?2(L0Q^EI7KX33\P:=G.?XOCC;$$%C@2.!(X$CGA94($C@2.!(X$C7A:T&2ZZ0W$AI'D0LAVXYA05 MG^ \2/)7R[+4;E<;(Y]M:8L(I3_D@!^ ZN3\"S:PJ1*$7?0=V^H4=618#(#B MV

5-A J37!LK^VJW8B+%L[)?09%H:C89\QZ%L)E7#2S$?* .F\5]G,__E% .6 MKK9ZPX$TZ%8;N)6KVHJY;N'EQ-+>_7?P!L,MV9NS$TU_\5]%7E/_Y@%IXT"B MCRN"Z^;^ ,*1P"+3\06+07U22"6&$81N1N^=.5:C]P9V@.1/NOE(?WJT2J-V M^Z>$U=YW)FQ-=%,C)EM]&D$:+'-LE>L2,E?QF2LL!Q 25%<_(EH<33Z(V'"S\=64@?UT9PV((; 0!=]&7L8D&\V1G""F'K2E?^3XL]."W M.&.GL>R?+<<.S0.24A&0N #(PM%R8.0O^3E%0HN7< N&M?!YD^JJ=0C.9IR] MV&0BMLL4#"X8O# &KU_J!Q^P$?!LGOX1I&TL:85I08= SV1;U^:!&12"]G0( MX3FA(/X!$G_IH.K $""TNMA/< R;R@54Y@0-#N28'\]/Y SLO;W!GFB 0*LSL,7=8_)(&O6$KPP3^PX1'VW:TOG:\" M@:V);H4"_WOLM88)W0IW9X "7&G)3H8=.6)])]95N%,.8A_&GUX8)K0%W)TM MBNIW*Y2#8((RF$#)13?DX9(3?,$/2 ^#+U*-IDXFQA"&SPZ&3]W"T/CRYS$< MM";4,P+(7+A&$'FCK]-;O@I14K"*W1S%W$I-B16*YA#0D:)G>IQZIQ8]R)U' M:\/FG_EJ)ZN^VGL"0W1TESP0^T57B:_+[HEJ/9OL+DRM";M,L,L>[-*OBR^K M3/[I2.V*ZTD+'JH1#R5TL^3'\27T#H< %CR3RYEZB7XRP48<8EJP4;:S>&&" MB9 Z'EUP]V3NV>H4T.+0&#DUB+#S.R$([QN7COQ1+M$/14?#+9"EC4T0-*YN M)P7'+87!]0;20.[S)G-$J -_:G>42ZA#42%P6[$?*MOU$R]A>?+[2-[T0#Z1 M#F4EE&9FBH@79*DGR[SQ@] &/+)"MMB&RAO_[L$#/6G 6RM2P01HHTHEWL\ M.D1YQ=VA0WW4SB=+OCR'D!#O O,?Q7RV<@&\]6R"4P=J9YM$U-]1ZZ-3B/445'!&LXCFH.^ NS[ET M0*,YUFBGX'AO^DK&,;%LC=CQ82#',G2-.4S:$J+_?>:6_S(//XU-LX7_"?8J MG$CBD#[?0_J+Q+/Y!IW+YR2]BA19F0749B]?./@45Q]G"RIP)' D<"1PQ,N" M"AP)' D<"1SQLJ#-<,H)W\%(SG;$FI/O(,%MD.0 D'O2:%AM1_!L2UM$H/XA MA_@ 5"?G7["!394@[*+OV%:GJ"/#8@ 4STXFZ5'YS91*'<">9GD3@]13+&T> M?YI<6CG5UKDHCAJ[M5\!]=9S'1>;U!$>+X:J]*5AMP]"K-HTHHR$X.(\H0I& M^P!T_]),KNL7PG4?KL_7?P!L,MV9NS$TU_\5]%7E/_Y@%IR\A?G?L#F-KHA).AL 4*J$&=8D@E MAA$$C4;OG3E6P_8[7)V2,J-0YO_#3KX&4#6C5'>]: M\V5_^<;E5F$.Q,YS H]3@K!*Z]=@\QU6$9F6"_?!-GP,<@$>]VQC \VQ[=+^ M8*!6'4+E SO(H)H6/>DF-E4=+G)"[>P$>_S8D6 $/&Z "P"ZIZ $%G)_A\93JQ5_0% M&Y9/0MXDJ"^V,LJJI4%6*[@*. 1,EX2Y*6R>1.K9Y/S.MEP+?<,3N XV'L=) MIXYQLT L?6Y+?Q'73=%^D36WO,#.%'TUK%='T*,T>GRZ-L%JL#P'FYKS62Q\ M>0O_P\2>I@,;;%EU?BTRCG8B"YMJYSU)8'6!GOX,A# M#3VN'X:SM?(4O=[*M=L;JN$6]08=Y%K()@ ]53<(,B/51S^G[U0::#"WK1== M(QJ:O",KP>X_%49_HV;8M.+=TU*\,YKFN["69@V32 ML=^[QM00GEDPZ/^R#S8M>,I@*S!V:C>:@JVB5!NHD]#OMC@[/HXN>&V0H"SO M. :RN&DTD$:]86;+J':$%Z/AE"F4,C<&NS-%MS.J$5.4M6^H2F6R=+36!#M$ M8XVGXZI.\T=>$7\K4>C25"HA.F5J3E7GZ0O%U$8-77"1TI'8G>Z)^[4@M M1L,I&Q19N+&[%QMTVS5B@^9O)I^(;8-:=/$;/:CFE0ZU'DVE B"A[U^1NTC&^LZ>) MI5-B:"W7:@$(/%MWW^&7*GVA"Z791"&1T-&P.*4Y5E7;]RC%0'?[=*D[*G"2 MZXQ-[$$W? MB+)R?OPN?ZU'4[AT2*OVV$D(X2I.ES(8W5@FC<_QC>[ XHXS?K^;/1ZQ;&)O MK,98.]3Q-9HJ-62W77KGW0TLL*X$E4YSM2!G 8Y+^K,URE-_[A'SV.FS\5U, ML?D,#]3-> BCXQ#78<%%AHXGNB'"&1L2'-?DYS238KP9_DQNY.EI4_V-&PVW M)OH+K9_$K_ZI]6@JW09T$P*VBML&@-UC$^R02^+_O39#F-U'*%ORFTGM'7*4 MQ)Z@&:.IEB$2 I2*VQ3LRA"*U!GRNS'X7,6>H"H%2=V8IFO9XJBIF7(@(4*K M3,48@]>21NQD[YDG]&$S1E.ICRPA3JE,=;C,!NM^LD&# _KKMVF\L\D>N+*+L4$Y#["X+W5WZ92U$^']#!4.I5: 2W4RV%PN M)LX=?@^\30F--+LU$0NU!B1?HZETUUEJ?:G=N".>,]?FUQ=[>)O/Z,1R[M.* M7TK4>C15RH5>0L16%:>5"=) ENKEBA*CJ0]'I!F2O80R1%6<5Z::CVU^\U\. M:E<9V#7QZ$'AHDT-X-RW$X([U$5@^9 M*EQG[01130.Q]7%4#N2/=F*KK$Q_@3-.$[U%!L>MG?P#[&D#^;L ]%_>?SC4 M-QN)WG&$^Z6C3$7JRMF/^TMI#E Y/@7/"Y[?E^=+C03RFL?S M13NP^.B#F,O'PA;-:HNRWFU^U1;10+'VJ:RB@6+3",?;J07;K>895>[9ZA33 M<'+KB6Y]P09PWR5$_O#T.2TCM3C"@-WQ7'>Q$51*X,.[PI>GDG]_XA:O7ZDU M ._P.RM4]FB-58";3>X"^-T9V'3'IG85@G"EMV)7$1%S@B_*Y(M2R_WMR1>* M-.CP>G!6D:N:"Z7J*\]8>2%]4:.1%^H(89&CL"BR^%]_J[!@)V?+94"7HFI% MDI;@AA*YH5]D'<"/<4.W/MQP4+M0&,3OQ*4!CZ+B?+-E0ZE=/M=DPV_$T!ZM M[T%W@X<(:LL=*J2^PF_HN5"9-66+-*[X>)O/_Q+;TK SS8\AUF.N6MPR!?_9 M6;FK3]M2"=$<]&1;,Q3T:]&%-N4F4(]W@511.'J_R(:EO35Y%W#)5V"2!Q!C M8U,+9=WMT_>(39(- ;DM#;C=+7 -72$PA,#(36 4V=IUW4#ZD, 8<)S"7BYT MR_)>U#\:*#TR_9-'F[GKYN>E&'4],7A(Q*B+>-4/SCC5=5-DB]VL0>I1V-Q2 MP.KZ5K7;D3J]PXE6W^@4$HPO&/^#@>K]4EL)[\3WB^240?;PH+KS>OF^+CX" MS"N(4C]DNY0%R'[536RJ(DJ]N<'.@G!\SS"G*/6Z'W"0-V*K>A MX+B6^CNR MYE3-BW.-!AZ'EEK,->[RNW8<#Q0>N7UZF&*;.#\ W/8U?&""]J/.0/;Q%PPV MZ84UH\6?,1T\C=)UX#+#HROY0.%YZZ-S.8R=WUC=AJ&7K]%4RDNEEGXMCY<& M_/:QJV[7P44LG\.H#4OK3J?$T"B4:-UU9$U@_%CH[!K+F33W\*#46K)A(-,] M,;!+M$?K$;_]DR+.,NC"?+7L9.FR7&*VW1UR*T5$G%\3F:34ZK)Y,$EOQ*^B M/:@$LWLRCVM9U9K- %ML*\P+/7B2%")2I_P*DH-22\V&T@W$V((W;I\N&&.P M?<.2LI>JOSDR=73$U%=ZI$B;V!CF\\$V=@ER'_M(, H MLXEH%23V@I89? $8B%)(S?1P%]G$?DT*^>B[?;H*L'1'>S7LF@^SA]=7A.@A>_B(X'=U%?Q20MZ+WU&>M"- MB7HM4M3UEL#O"MB]PD>6OJ_8(EB*#)I<$RS)(N0.IF)IJZV]$@5+IR-U%,X2 M]+)MT 6TBUCY-&27&L*X([(7@&YG#Y0H"3%)E4HH0F!7YC4MT^+ MZ#-T[*(?A9=/>/GV2<8=KD19ZKX E)6B!>#8O<"V_0Z8_0;%,+BVVCYO&X<##D93H1VEXH#Z.I4W=Y MFA^B.QL1K5G>Q" PO;\T1[IFF&V:>%76Q6O.YQ([B]>1+(W:33&A,I!G;QM* M\+S@^7UXOI.X;RK>)9IN4C6G1ME>/!^SJ>#EQ-+>_7?PAE;99&_.3C3]Q7\5 MF3.+DR9W&;Y%5?F8^P.8VNB$DZ'XY;U58AB!A/SEB+H&X+TSQVKX/FF0(8[: M[9]64I9R#@WQ21DC:]QNSODQB9S"9I@;KZS:\& #+QO9&Z% 4]Z)G>?2/DX) MPJIJS>;8I+(%F98+]\$V? QR#Q[W;&,#E*?-0G/<*7$(E7]L>T-S $#%BM_O&J(+_@SSIY+W%DY(X!T0*J!'9#)=[]^^=M1(@@".<>T6U($=QRP M2S>\^?$]^8Y;Z;LRNZ29^,#M!0L Q@R(00 NZ"JE1T1X_.5Z? DO^E(V+KXGZ\,S]?#-]X,[J9F.TM= MM@!N[6=LZO]E.;07$;/!&S +[FQ@0=-E;V^?OH;<]Q QWZ7NJ(;E>#9YA,=^ M,5B&"K-@Y%Y'Z73!WB!@.\SA>:X-AD2PSN6O*8T> &F#SL@L#JA3$#M3^ V] M1#X[(;-SNLI@975^1E^PH[.LU?@J1#O_BN:QC(TJ1D"EN&=B3]-=EC "0D2? MH8NXF(Z @A9(\1?2F>HP^L4\,]@&(>W3AZP8)O1()>? ;&UF> M_1E-\0M!$T),-+<)Z <_4X7J$ENCU5I8W0[VWC-9A>FYK<, Y@9,\)F8!-2* M\4Z_)W-_T.QI/TPV!39&-KXQ8R*,/OTX?CA&OX['=Y^I71U-R LD5?X;)4T+49ZEI_9[<94V5MD(#(6W]%QWQ/GCW# M'\A#*^4G_W?L_^3:G[LUUTWZ&]9XQ<3/C$@^$994=)+&12"<#1H_"ZN*L/8? M+^A9ATRB$L?!]CM;-8R>L&Y3BD7<$ZCUD,X^JXU^=N(WATL6#YU;CDY_*,$S M'<_POZ9-9OV2+ M?W9-AO3KLL?3^OI?."9]-M&-T]4:)C[#C]SE]U<&VT'SI M!1B 3XAN2H'-$9\3M3]TAQDD)B6Y08>B>K9-5P?P,W..T:T_(/@@'&4<->%@ MJ)V30B PAGP*A:L(K I?:P!(6GJ(#B"\NSO%;MJM@*3OB-UL0A!YFP.MB!8M MSI-.=W/HG6#:[17(]#JU#'(LI)HO6Y: F@A_&FYF,0&@N^\^ZT<" VC$6E0Y M,;:B0_,8 MR!?C89*5H?D8C577@Y^$D 3):VBTHQ-\S82MIL-L;+\.HL]5T>R/J51$3Y[- M&@['1"F=#OT1K!<31(&.V:Y;Z&AOV&:"WI+ [W56BVLAZ]36!N'5E"= @^KP/_/>D&B2F019,.-JLP M!I9.8*8[#L7FIX>KB\]TR&D/_$HFM@>B.&0M>%K*Y4I?\@>4=@V8D+X2$:)B M24\4,$=\- .##'Q7*19,+LL"B?@ M%:;.X[(B$&6L><="P 6JW8.+01XMJ^O8KAP]3L%ZSF[^.%,F0294UF MD+'_ M\4S?*1JQQQH?[R(<5H7"1V0 X]I*>#"2'$Q8$@ ;J(F)];)0X:%W-M@55KN/ M7=G-5BTQBMY./\ <]"=I7V*MZJ M60X?.F JCC6+;V6;3>,&PN8;M&,(QY\05=3&I<$9]*T5X59O7LZ;XW M; H&5*KAYZ]AN%M#.I!=90:0Y=D93ERJYX?J1Y"1(RVZR]V-)>51 DO"5M-8 M84Q@.01,M>5F@ZT\U>Y*H6L0F/99GU"O:<1&OUJ6]JI31Q^8T;=T>[V!CQQ MD:$_O;/!.=[$@=T#Y:$9P70[P?@)IOX0][%H MF>>BX8G^9LSZB W.J!<'I[&7 $?RQO:HB>//8T4J6)*T->G'%B6^%/Z!#?M=]X+&]T1Q._H,/\,C@8W)2IC(E/@+HM (D<2@H#G\M#6Q"?Z] MA9]<^@ALO.)W!VZ>&"$=_?(H/.O^^&EWA>?=RRL>O*Y4##")O,0"%Z#*VS3_#R:NLG*7"=[#/HU\AAT5CP&-(G_VE2M&3NF0WYM2\0F*_9Y-.9 M128LD;Y8(M:;@II;U.?L48MF0HN?4UN'VEJO3,P1K85?B T"#9D> M'/O';LDRR-@O],=QZ/N4;!=82_FJ4E#B)Z[L+;5Q>/M MJ YKS!$_7VKSI0<]8\(#M<3!^4\Y1G>;OURMD!XYYI=:A[&CPF\%\BNZ0FGJ3I/.M'$<3?R@W$GQ+!>Z4D."UH( M3EE\YH\H,&%2B1T)ITB-4YZ6=&$\AD/HT^@/#V //]0IR%F#W#ZM6C),M8U-+5 \S"I-MFX&B=9-%#WNF]JP MJ6>W6 D7#S=!RG'OIY5=D/]1G)QKT=+[+NQ:0/IZ4/MJT+L/-?IR$0L>"SHO MH-)%:W)K=.6!Z^C(V M@6#\_@%2BF]A\U>/L+DDZ#M\.G70%777!4$<[)^D1-;RVM[&TI,%X.L"^.6, M*:8-_13T%;W&.5]\QV"HTK";*M@A\QHV@FM"K=L?_E1IBO\G%OAC>0[8LBQD MDL4$^WM>:MXN=L!!W.7G"H7C,K,K@MFW,GL4'54//A9(XAA)02!F/9"THT;8 ML'\4\H:/#04M&XCC0: M;JF8R47)3(%C/G&L)/2;+K3=R08<]Z2>+-E& CN8R"A>KV^^KLK7?P: &?MXN6%'RK=/ M[*[.[0(U#&"1_&VS5)_!H"\-VUMJ4_(A@WE!FT"XDM"K.MU\J!#AHWY'ZO1K M@?#Z>51YZ2+KCV713VT1TA+E,6_1F0TZF4EPJQ5U8%_U')OWH*923>P%]I5M M08?LJ^7XMB ,CYT7L5(R![$ER.N,IL@=J3_H-(C1Q 9I%X=BF%LA7(H;X=@!./HUMNLJUS;/ M($VP[=QHNA@'3H#0-3_.J@M'&4G];HU.A\!>'J$#,]03DD'1B]N MD-;C*ZHBA:+J,P=>6S3&?'[+2C],GA;V-:/V#PB[VYLF)JPM8_)]^NE1X--N MBY9!.\76IU;IFS#BBZ]5^E6GK:"_T6Z+JYHSI4[I:*\ZI7$:K=4-S=TQL:4< M*N]U2H/%4KHU=W)E*,LEM]<,_U&6S5.!WJM$$;!R23!6=ZJ;JU^QV9SZ4>?+ M1Q8;94;>,_Q ><@LE2-1K.)<]AJ2A7O%\J6;X!;!+1_AEF2+3#!,R0RSRB^# MTMF%3U#_8*T4MM9)CK!,@-YZ;6"H_*6NV0WU,!WGA$:B1Y?"K;3E.#;7]]M7.KNP% MZ@\-]6-5]6:TDQ550S/:P/F_F+JN!2,(1C@H1K@AKL"\P/Q!85Z8/ +UAX=Z M8?((1A",($P>#C#/@<=[GY9'W"#XF_Y$$/7PO1-L4^_>KFCF J"BR!/3ZE\4>O8?P1.^V-'_;&.:;7XX]C M/@MFX5^7]!O&*S?$C?-%9\@?7PA-4A?F&*PSASQJR4I=F4,86O5F#]X,K6$- M^&.M&LX'#2VEXL*,PM"JIRX9-8Q75@RM;KOB1HRUTB159(7O7LFG$%QF!9@? M^D0CGX[B?#20U^N@:9Y-PZ&.SN7V<7NU)""/Y*\D?;QF]'>B>+>X*O9+V,G+ MD.BD0**[!1$-"I.K_$#AQC)AL69SXA*$GVW"6O8>Q*G"OD>SU=HD@[P.$H#P M =W'(=FKV],J [&GY?N9G&UC!WF=%^3-!CEO716ESQUC-'[K6E/-D->Q0)4L ML;I#[7*'?G[A*%A@D)?S7QA'@@MJ;!SEY>/GWCBJN(.9,(YJHQGR.&&,V^6DR=_V$YQVRKK;EO4VJ,900&+@-_R M7 0E91%ZXC2#/WXHX@1CF':"H1P/\SS!$"D1*2<8#]:3^XIM G!6IR:LVO.[ M.+_@UA ;YG5^<0&L[H'("LF_\H.R;+*UW;K=@B.&>9UT<,(1PHRJ M(T_P9D;E=>[!"5-D,J.408\[+A%F%)]*(Z]#$$[X8]V,&O5$P,A!GXED1.8' M3P!&(J'A(,B?_31@E'8:,,CW-$#D,Z23V$V! &QGX&1FYG8%5*C16734_J M<5?LJW) "S$AQ,3^8B*W@T&Q#Q&2XB EQ<'L0W([+LU;5.1\2-J5Y#9O:?1B M'](TL7$H!D9NA\A52HVU?6 YD9,-/&<>C/XBTK>D]MIR7O]*I+W M,JY"GME[V^TW]$]%US2R//\-!V1^RD^_)>"C(6>G_$6 M E\D:?8W2P7'Y\OQ]7&!99AMB@],;J>RG\E#/U\M,7^E)?YBV71ZC[!BRTX/>0WU,.QX6!+SB^,0LM#/R(Y5,.N;D( MDAU(,G<-_82!7^\U%@H_Y/Z4P^KR#?R!U.D+=<\MOQ>L$P&H9!8_83E%NCF% M:^,C)+.]#ARKD8^K!XX\+%C\% Y>3RSM/7@+[S#@TG^W=M;-/HP.P'PV"3@D M/D7*.$6L]#P8P=1>'\(;PIYKH?Z"6T^1ZMDV,=T+RJX1&X*,>H9;P[3(SR@@ MTHB*^BFAE G.I9..B)/9/O'@,OK^")UPLVSECR!NSB'R-B>F0Z@*63_&1*_8 M07])B:CJK'BA-AR<[Z>O>JOZ*C[PVZ=5E17IJ_[1>?MXO4 ?@J4SZ/BQJ:5/ M:K ^*="\X:3HRXHFM:Z!HTE1^KE3@E+DCCNU"6%B!\W@JZF#B*D1+0#DYM^A M[]A6IZ@C2XB2%+%;T$5,^0U=)G:=A&SBS F,]H48[\=5XKYZSKMR7, ![*@0 M?GZVR;/_,HD=)]B!K^ #2M- 8B(5V_8[Z$[T@@V/(.N)?1O^GK+M.@?K#KR" MH1B&]>J<\K3\Z_H"U(2O+]H+ VT7?=$^!'VQ<]32JL!Y4*=$\PQB/:78_U\] MU[-)7#9=^YUE$ZO?80(2*LY/,NU/1(& )TQVP6I M-#(*!(5NLEL]][-&7D9D6M]+*"9T:=AH2.O5)I]+-\AQ0)<[G](BIXO<' M0"0@O?G+D1(A,R!]@,1@^=L_E1VIN/\9PMYHDK8]6BC) M)4,UD#_!M@GN4 I@RHUD+Z^:4FR+%FW)&492O!]CLX=2KC8 :=TVN8&1/+X2XX5\9_N;E6JC_1U:KG& R?*"LDL1 M!H -F>?EKO=P*I4#E88B)W?ZL/]E+C@U(>BILD6MKB)+XI)L$%=-7J84 :JT M.3.@QI3WDJ0H+4>V0^M+P0XE6W)-.!?V2VJ01:A,0GS,073)YBSPOF@;DYO( M>T46J;5<1=Z+P.A##'33])(FR\XGL0.>WR_OM MB\C88X$$C*8VU1I_=BWU*&?+"FPF%F)I/:$+JK=,6H ,KZ]V_&65_,T$=83U M\D<2RI@DA4$I?\$_@(N^C5\@P-30BRB4JH"#W'NH; O'%M;#I/!+Y$AHXGNJ&[[^@3IMLXW?5O^1GI?I(#O#-5?0Y; M/[C!S')_4<'MOV$N*^$ MF.$]YIANJ.%1@,@PQ6*V0"G28-MYC#*N'N@2QZ*[59# NC.%1<3Q99SJQ*;9 M,^_^TMGD#T\'CO=UR8+H4;J'-0'HO#!I3C-L/#/V@6[./9J3-:538>.E,%H\ M[!@QQRG"=M8T((.\$,.A>B.X-QMD6BK0#+_[^3] ?H^.&:@0? M7UP]FP-G?J-K2U5,FEDD^Q*S^_/?X;Y$\ZG"^,)A>&9I4P%N'3]'CR9'4'=0 MF. 3XP&=. >>8)5UW95PW6\C]O+7/N #"V0"%30@4(+[I=!PB6J.ITZI\/R# M$33\E%+.T6&"V$ZFV\\K/]#-B.J,)[?PM&FY@31BB/F9WMV?0YRQZ4UB\@2N M43&5CF#'V+8%EC;SMTW>XQ<%,A-D(O9GX4U U@$$L4&E+(C.)\\P@*CV+$I( M$\#<&YB=$)@_8I)_"9H1)1UO/K?L@&*PR*Y/TE24!-F?/DT95JCFI)IF<5N8 M/U-,H FI"I_&!;L@<>JI):)-O+'Y[A-Q]#/H>>Q,Z3;!T1V7*=H)-G\'>VMN M.;KK,(V]X4?44H UIV9SJ&$U!#2*$2.X+[WM##;&[R%A9Y[K@8)X@GWM\B/@ MP911F:V72%B'6ADO8,TP[)F$'TCX]"1M=@H%."\X'/PM2LC?!B:;&4YO>LYEA M"3:I[IQ6OYX)[E1^G)3Y^0-\[W^PB=-NS?N0$%\H'9)=!$IJQNTB774MDW4M MTW5+"T]EWU42=9M:0>(Q3\H2G&5VQ&!:Y+*NOW8G<=,UOV^ M2A#T\7^:F?DJ.$%PPMI7R>9+\YFA]'8\W;:H*5&DF%&$E"E#RO@;5;G1LD$@ MN/D(5@2"!8)KC>".0+! <*T1+*P(@>!Z(UA8$0+!]49PLZT(D16VBV<'\/(U M.CGUS\I.RT,&!R(H0>P4=;A9^!R!F.&S)IM3F6HX,4$\03RNYRB()XC'W\0$ M\03QN)[C9N*5=U;;!"O^@D:VTJC%U1!78<8W;X[->Y"@6AT?)*A6QP<)JM7Q M08)J=7Q04ZE6;0G="LO;+>5JC-CR?-^0(29*;/)_>I2Q15!Z,^@F+U!*-;=N M2G7R?T?95U_>HY>_A24;V"'D^$UW6M%WURS%D7TA?V>QZ?%;Q$J=?*65'HBI MOB__/EX,)4KP\F^44V4YQN;?&9=_I?F?8_H#09F5+!_2,R4BE11OZ7V):&G6ENXK$E)*.0C$V@E)",^TO&7DII M]H](QHZ0C(V%DY",=:&4D(P?D(P)5=+E44M6#GY?W1]*H[U[#1\(YPD961=* M"1GY 1FI%",CQ;ZZN7 2DK$NE!*2\0.2L5.,9!3[ZN;"J=)*24V(OF6=U43K MM/);IVV0_?6<;9I4[Q[46;N?AIK0T>4CI^RUYX;RN5U(F,.1,+U#.:G.)%QV ML!AKSP-"K@BY4IQA35O4,RZQY7O5XRNZY_QUU-(QN8U;]DW76[^Z!"@;6B53T MF8\W_?0[>K*>PL[4LMT6:]9+JS 9%@T58.^>J="5T R$*>O"+M&FP'/6$IA= MZG<3ULC$A8>&Z^PW%UV\9PUD5?C)LT6;76JTM^64&%K+M5H@E.E5?K=9>IU- M5"J%6!=*/(-QL5^HEN-*R"2LJRGM*4\;:6)3I3TU;:3:1--=&#>(;'CZ1?@H MS+17TM-T9]%G19N?!C?VII_3YU$U? M$]&!V>09VQJ[+&D(&ZDR6X [OLAE-PS=J9U[":)\90C].0#( ]JT%ZKM%%$C M 8AY015CI/# !GB&6X,X)5'8S(@VOYH2/SR&1:$D5;Y.5K")82;1]T=-:E3Z M&W#6H_4]@/]"UJZJE.'@RGM7;K>J7NZ)8?QG%^LON@"IZ M N37^;'7%YT?BY1!HE](*2+H G8-C18, KY-AN\/TR;P:+K__17KIB.@+*!< M?RA_8UX:@66!Y9IBF1X)(78FU&@05ULE-6=?#$B@XX?CA1\[YCC=/:>6@US: M$H:3,8\U<23#8D_#4T^H!PFQ=8N8W;!9W+7IN+9'#[_8D?*/AP<7N\09F]H= ML 2#[H,WT?07W8'[.[F&PVWRF<8/EF5%&K2[>V9^'AY8.1M.;7DGM2HNS[PS M5E5OYADP#HW:FJKU;%)K\S?+H"M,MT]+W#42G'6@PRF:ZS,W(^&,M>JJM(:IQ3AY9JHHN'#-\JN7?BKO?*J4K>)%%.*T$MC$ M,PUJ/9Q*Q4="Q)+?;M1(68C@-X9N$*H95 M\$U!6\1N3W#5@0ZGTBWB,*$$7HW9:G5GJ'0X-FW%UK"V+)7&4:GEQSCDJ,1M M8:,,EJV2PH=V MCK"8<,\\ZJ'7 45B.-SRV'ZA,5PHL<0-)34(]^Y'58L-)??GC'1 3SJMC$!S M]X&T<\O1W1,7?A>^$9O*1@J3M#B@"U"H8U.C?Z[^\/078%C3=9@\^8+-W^EC M+P-PE+Z+[$C]T:!6,D,,IQDL,TJ+\N&-97;;-7;$KO%0AU/I4>,H+?*E7BRU M=LS(+T>)0\;:,E,:+Z5%P_#&2\D'C-) $>>+V;>#U373HQ&JLQFQJ<,!GC,G MMN@+FM/(.>G@FB[0FKQ*:2)VO\BHD%/N**/<6.ZUJ1J>1K1_ZNXT63"7?S8K MC?K[AD4)[A%RKK:4$G(N2<[M%Z_&J9S;,3%W7U>(8"XA!FM+*2$&D\3@/H%W MQ8C!6H4Y"/X2DK"VE!*2,$D2[A,_6;9!V/U8,(HT&NZ;QGJX;%1>/$Q^ K*Z M6M"/EHN-Y.89Z?7[1,>T(CJF%7Q:PTW'M%%*<&Z)/L9!3U(&.^RN:P] T091 M,'5Q3)T2#[?$I>%[P_,=FFQHOE1*URU?T4V^'XB6U!^CF@"K! M[X+?]];Q2CLEXKB* "VPX.5AYX 8NY$-A]<]6'Z7ROYB,467RI5ET_27L)?C MW:]?_K;:QU%NMW]:[;:8C-:H/^32'6]^?$^^Y=8N$ROS2_1W!6!-:7GG=Y&@ MC9VI-")OS$U[7N(84P;GMWH-62QL/KT$Y9U!ZP\\1*U"49N(T#G\M#6Q"?Z] MA9]<^@ALO.)W)SMV5PC]V^7]]D5D8%[0#:.I3<7\GUU+/*]E _0%#7CQPC(237@# ML2":\'ZH595HPIM;3DJY37B36\&+/KRB#Z_HPRNDT :A(?KP"OC6&+ZB#Z^ MY-V&BDM/D]R!!/'L]STT]=$X(LY%%+5KCOYK84 M=M66E%W:]Y:$A4.-CZH=%\@)L0?UX(+=PA-WJ'H@6.0 620E'$^1$\J7-8%' M5J/Y> OY.P#[ MM:S/Y$RT)!3BVBI:JFRHMA0;WY=&7;$SX_N9G.$]H2!3%7C/K$%WVX/MDG@O MN.$PN"%UWY50F(=K\;_;=DO>H7:TV&\UGA/2&"&A+@O7C)!<>F4@M3G$O#@) MR^,D++U=K=AA\2I9$FJ&9'#><-%L;*D?IJ0,Q%[K_['WKLUM&\G^\/O_IT!I MXUK[*9#+JT@FCJIDV4Z\N[9T?-G4>74*!(8B8A!@<)&L_?1/=\\,+B3 FT@" M)&8KR5(D+C,]?9^>7U?[G17C_!Q@C5/A_"V1.91<5/J=58NZ=JN+. '!6 S MJ@98H^*OBMJ*SFY%$I40B=Q0#-RERV'EN%_M<3UWCVNS/J\UB,;**_\^.>R: MYR &=SJK2F.JUHTLXQ3KO6'5 L;2F59)O9+ZC:1^5D\ MK92"4@H;*855Q3I[50I5[Y*B](+2"THOQ'IA55%3U9R%_))@O=_:HF'Q&8K_ MZ6V(IUHQ2>K!QRT:&A]B%0O&5(+N>]9(#JVX"@:W2L?L5BE6T4Z6V6;IO5') M&WAGPK75&4D%Y6>W K-3:X&X&.R7[-.?"3M79R05%*Q=ZJM.3["J&C6?"5]7 M9R05E+!=ZK@JZ_KEQI\GY0.J'?MM=NQ5JTC5<::$CC.=%35^1PQN>T.].ZI: M%9YJ&W=:-%5"+82ZNZ)*L5)[[.W*G0)3,G]:-*V7S*^JUN^N*,"K5+']^136 MJ$Z12MS+,O$K"N_*R$R ]\;UMR!?[U%I\ATGROQ=?G]MU2OR)W(=OP1$ [Y M \I@@-*MA5,&5"R -=,,GVES'];'AS?#KT#TF>TR"V@!KX1///N&U M)MSV\M_L@3FKVDBV"07]55/+&T\A++:NK<4)T($W<@^P:(9K\=M#GQE!Y#]M M--$H #\$O@!MY?/)PD/]_&GC^ ,;%LGPT\]>3XV.H$:9C%$^:[X%@@&MD0-6 MT&IB^Z(_#RR"X<-"X2*O(FZKT]+Y#?CH&V\V-]PGS;"\.2XA?O?^^LL;[?K+ MM]6/:5_24QJKV+HKWO3:OHKW#;1DXR#0@,SPI.XOVHW/+.!*WM@"5MZ^TKZF MA@?FT>1^,8V0_9@S$_\P^6T.W$;\Q@QS*IGM"4:BV? 2D.9PXCFV)]@7GS#W MO;$QMAVXK.%-&A:;&)$3:C,63CVKF7VW)S8RZ$8B%/H00&;\^SZR+9@8TZ:& MM8I@KL=) 0X$? -DL.'I9HA* \<(+Z%B,9KB)*95@)">1*IF^1Q9_@ANL!\E MUV9B"7+S_)H12-.*V@DL:4/^:0="64=SSZ4%E-S"67'T2X!+Q/D'5P.?)9:: M_N2? Y:_2/5>'I :,8AB.= ^&C[(*&]!V&EQH1@;#LD0$'<*SG(C]!K)(BP8 MX3%)9(B.<40;/>(Z6-E@ZCVZFLW7%23>\1Y)WHD]#+!Y,] $&%##$X)0UUPP M5O!*P]4,O):&@%HDI55 &6G7F3?A&%;-;V8\:30KRYY,0!U/?&^6-V*:"S.- M"'@)QVL'0<3\F-E2,][H;5/C@3^' C4-/,VYS^;PJS>&Q29Y"<";Q$9^H?B) M7(8YJ/3'#Q^C484%="],VV(9J=RH% M6]7-.165^-('W2U"H*N/<>B(1;6V>^NR_P4V^L3"&\/WG\ SO9Z!R(694M>A MWAY5#9=%U;GN1948$TKX2FT23H%*]U-M8C_P;VJB6,H^=GY\)57.N?-NSIFV M4K3?-?(]*+^OG.'? [^C'@Q6*\*!WAJ%*I"3S7IG]@+W7(1U^&R6/E*53\K5E/US1LO/O M^4#Q2_JTEVT7-_3\I[=V8#I>$/D%VRJ#W&V5$NCS>GSUR0M7EJ8,^-YN7.(1 M3U*+S_L&=6&;51DU+!= M?<,K<9_YY?L/[V]?T=BR-35SN-ZST)F$^?KLP6:/ =7!V#%AJ'P,IM>8>0\P M%UVS#%1(%E6N62 GO/ 3OK!#-@OH:YC.@VUA 8CJC6GG@I]1QRQ9+J&'N1=;'R<;)0O.$D7E%1,%05!:>2%%45!=7T-I@) ?>ZUJY_]0[_#9_'/<# M)WV4C)0!M&GIG>X6F_4UY[6*#>=T67\%N.RQ6'^D#]M;=)*L *L=+VK+FZR, MC%+?B#QR;5\6Z[2/1ONQ)Z(36 TBE;7G"12Y(" ME73.9%JE)'/P@0_E'Z" ?7#ON'AE<')&HQUUI.)SI9%.=J641LK52(<'WUVO MD?JM+8KE%)\?.2]R#CE^7I <%V#4H@BYNF\GX,4?"B3CK# A-GUF0$1'M@"[K=*?:QSK=9(O2T )NK([*]4UF/GK$?,@@E@IW1%:Y$!4<>PRSF&W>\=S]_[ MQ,*%>+C?.ANH"M7124ERN9*<@]IU*#]I69);@WZ])5F!*-3QE*AE/\A3F7>_ MO?G7XHG,=BMU2#)V\ M.3G%FR3SQT[>/^8]<6\>^,+]<9U JA?2*U$OLA(Q]9RP$(,"[GR$ >#2>@LW%88%W?G_[>3T523X25C"TJ8]&XF^A9U[L.1*ZN*)# MRQC:(-(ZHJ^__H>Q3.WTQS(%G#1US.PE@(](6)8Z8L4D$#&W$P1G8&X@\C+4 M'^?&"\+@R]3PV1OL/PUE=ZIMO4%!Y$V#2\ Q-BL-S[AAO"PV!1-=YA":=(?R),#;C>O._GE^G, 3_59$((@(0@)7;S\#?GW\"P/7NCSKQJ\!9#Q:/@6!XXQC6 *@Y>S MY;\TM6M^1103=.,):]2/Q0"+_L.>13,-.ZBMZI_?3\BMO&],NNT048C# MZ)@I?L<_9G88LI6C2QK%"(P<>+2 $,*.'XC9XOF:; I#37&>.!G 6CN.-D;X MG/&?S P%8(YFA*%AN_+R8 XK1'@Z<^93#(4[Q3-J+4?X+QKF;6F\XGX32W,EC0*YCR\(MI+:@3WNF$_ 8V1UM+O(-T&'<;6H#$XN3M1&LK"*KMK+=U_N[E[Q;'^@ M,1B[C5XR$_<0M-=2MH!EVA(I37XT.!(W+>2^DJRE,!D==BY!_>/U/_#2JP8L M?KBTYKQ+&NI)^ [&%7.88 EP?_#BU2WNGJ10KM;=2"$4 S0IJQ[XR7L@#MCT MJ:+M)O ^]LD$C\9Y F>&FWL8/U(_C]WUE&RAC2!I2@N9D">0BE5L/JP.FX_7 ML_EXD#),/US)Y@M%8:)37:R=AFC?K!!OZ!O&H93S) MIR\J-BSAXX]TC"#4;^3 "R@*.;5W/_ S4Y[ EU1XE?'2&:>0 M]@B1WT_%RJ/;ZBXKC_8H5A[X>E0V$-^?^!>O1NU*N\@-W7N%)+G%YQ"%FY.;C# MQN"H7X>-P3W"Q^:K;9)H(=#7@D6+@64O6\\!EJ4E.QJP;*?97T26I:\4M.S9 MONC L&S%JC<=:QZ>"F"(Y0O'QWA?99'_J@G0]P<9)68UZ@42>W[J1.DMI;=J MI+>N>?,3I;5.5)F4SM8U ^)=2(:<,2*OXN-SYN-WLH:#-G'.FI&/=YA0C/)R M>"8M$X2:T[PH#$*#;^L:H9;NB:'QM'D-3AEN_,YNE6!KNITH$C<&']P[JD_*8LJ!UNAV]?:H;37F MA3\$0<2LMU3KQ34$/35(U]O$G)>) "*\N6%1M.J4:X?YI& M6(K0UG;X!5_:[6S6;[,Z&[O+-0[=UJ5^ MV:IUVXH]R\I)^##5:2I>JC>5TYVR-!?J .49O>9HU_8/)^$X[9!V*I*=4_[^ MC-U-P=MTX%>YF>=N.I6;F6NFNINU+"W90*5$==G-; \'>K>S12FMDI5*&FCE M9N[@9G9SJH"KZF:FI'CCW;P#B.>A?7$V\R!'0_%ZE-@G!K=0*>IP-,\8QE.N$4&K/S*?Q;*2 *2M M!??;$TK:.J3%SK!5S3V^YY0HTX^(0_P>U@4[EF8\B%X[KTY9<;BVB/<7PRH3 MSG\01#/!V!'B>MI% MX22CH<$(C8(?4W,64UX' K+BIZ]H8+2/W+:\(]L2VP^!%E((&7)Z0$XGP-OM M$^'M?D5X._9QC@AKHQ;TH LJ?-$-E4[B./S.J'?#Q1H]](S]V,/HH?* ?S[; MP??&!"V C6O#@A S5TR)44J,2I"/%5L;FYTK6&PI(])N*>?].1UF>GM+9<39 MB50$@3SY'ECR@^#(STO=E)J]P5+RXH7BV<(E M5Q8;\;8O,IIEF)%^W._ZV8I\7/N+J\MFI[^XHZQ883-6>)9Z+H<51L]AA>-5 M=)ZMVGWP'%A9;&*M/+&J>F*]S78Z#^N)=0_JB4E^_$_,CDN^6*_3["WWKE,! M1'79MGWV <1F;#M8/EVB8HA#&#/+QFU_U]*>;.982C-45C-L!M5Y6,W0.(Y% M>RMX%_QHR="#$9Y7_K[W?/$57I?)BG6& MO159L4YSM*0\^8&'*A6!@BLNM_CO?GOSK\6VP^U6*RD)C(\D%O3EX]8C\\1/ MWS[F/[)0[146%RY,^)>D"G!%918J$V'48%Q7_R_["5:'_3"=R&)7.6-_'C7$ MV(Y'#6G7BZG1;O-J96GTD0[RC\2:;FT[^12D\>R@\8F=)&>O[_]O)Z>)$%)@/W:T*8^JJ&_@6*YV+//?G%%U;6H &]0 MX[EA\/H?1A[%Q>=2-0"II[0 E#":,G7AZ_'59S *H)G1R/&6A'%55$7T\_%' MD"()=PP,,IE\8&!;M0 M+-BZ,'3@&OXKG8#PQ9UT"L,QYL&1#NH-+WFP M47HQEPX [3U'*1ST3G/I5!-]59<#1Q7H2GSL%QVX(W"Q4I;CHO+Z@U,!_%?Y MPO$QWE?9IM/5[ TMSXPWCGQ^IN0.&.>G3I3>4GJK1GI+8%PHK77:RD1I+:6U M:J2U"))'>TO'*Y7B.DE]HC@[E[.3%$T5.%NQ1 58 LO"-*H+JP)+*&5WBIQ] MP&YM51092F\?&\FDM":2BG_/C7_OF*_1ILY9\_#Q3HH>IL%'B5@S2UO0$ TQ MDTHFQ2XQ O]4]\\,(A^GC.YXNA"O[=-=J=Y=K8A4W;I3KFLJ!S MW_T5V>'3!Q=&%U$;S5LLX_XZ-5P!:1F7X>9T;FOW]-%@B[;B!^" M>.;%#2HJ*D#]O0E0N0C4FXO15K#4PU&SOWQ\H&PN*S6>S&O+0QY!MN/.:*G\ M^EGB_1L':Z]R2Y'3'DZ9W7'Z.T'(G:Q%S\+DI]5-9ZBW6UOHF]-C,S6$;'BM%E7L>**C-C24U"C^8C?%XZ2Z'\A=-552]7Z:IAK1R&_U#@ MDNLP]/7^J,*=]UY59B1* /?I*XQJZ"MDI7 K7V$P:G:6 :*KS(SGGD]X[_D3 M9N^44:!_VY70#&?1%?G9&[?U:""^GDRK/*;+G7 V3]9CBL4[SVD:Z)?M6OV].S]-J$+(I\%VR5X6GE=/:K,B24E>'(GN^='88AU-L6&7 A$>=E6#" MEP5@PMN+Y.%1QA6H<(U A3LU!A66?A@7@!P:*)A?$0>4"_,+VI=4JVLRA?,K M1I"F"4]#HO,2:"_OOGP+7FF(] OV&JPY6#^$E07AFI'S96@AC)&%FDL)#?P* M;P$[;X=3S7"?'LG9&K/PD3%W$RC>48^:EG <7C#YJ*T$WK!K::LATXGIAWA(MF,?!_K!1NLH OAC'C,9Q?@LQ- M-K]F8KN&0XZ,Q!W.>3+. '\BI&ET&NVYS8DA'BP@E&&R'%<9@_"F]C5O#,BH M'-N827SI8M,&]PRX<4-$Z977C020,O(]NHM(A/148(B6S8LYY72D]YQQK4UP M'=%3CA]"-/&]L3&FMG5BY1<(E7KZ(SCPZ%L;YM1F#\S:A ZP&"MG)Z*H[.Q M3WT'[GO6Q"8(8_& B0]DS01R&IC9,2/^E"@@SM4^HIAK-X;O>$ 0&T%;M9EG M,2>OG49&2ZYK/K7KB=OR5?@:5.KYDH97L-0JRU,J+'4<.J?,,<77FP)/=Q7P M]$;[X0ID1T$A'HP*"@JQTNA@"GCZ3-2)TEM*;]5(;RG@Z;-0)DIK*:U5(ZVE M@*=/7I\HSL[E[%2.I@JLK7BB CRAD*<59RODWH,A3\L2?;G3U*Y$D7XXM5V% M1ZVX^CEXU.?$V0JE>M<]\^6B(P53?5HHNX/-8:K7EUP=Y,@.?]=U%$X]K(.P MOKD@W&2$^7F<.\=P@W<_F&_: ;OS;9-]QB,^O&;K=B)^H^5^ QV I\^>6O_#/CI=GO8O#P)*2L7E>A4;7XN MF+6R_Z4JL%4 BX.=(*E/V $H!J4>Z.UV]>+]8DA#)3FEFOZ=L*1/WO0_ TU: M1?MG;?G3^7YSBHRF#']UU==P)V#EG>S^?YGO648P+=!9=*Z:;ANO5UCCK156 M:L@WQ)5IE=0X!754%0960C/<"8?X&3:_8J*SE;D_"=E20?XSNU#4P,*7UR&B M-"U84K>'8:=FR8B5_1XZ>F>P#!"SKNKJ<$"@>V23#6JQ5-ZCHCY0MY9YCUV[ M,>R>]#AL%675,B%G6_&X")*C'*9#(L2?GL?TO*X*PYP2S6JY20?#ZGT52T0;.3 M/Z$,F%UC-"]"A9S[WH-MP2@(2#4(HAD72RV2Z+[P?2'$)F%T#*_0))Y@?FOZCC\,<].$S:@B<\%ZQ=41)CG60G M(Z !"!6"'U/S%-/DIW['8$- <9-! )W]CG1VK)?Y6=^\\[Y%F:&ZLI9B)\%. M/,M5Q#:'6)3<3.E6Z0]\,<' MP1Z?@3NRW2Z:O?92>/^BW$12_C(>3G-D-TC.=R?DG>S^YM@3IKVD]F6OE*[( MT16[-[DKU TY0KY+>5B>D,MU_BWRY4M[8;#Q018O03_F"Y#)03_ MP7. T;"/C1+[35V$ QTFW<)%Z![419#,\9^8-Y:LQO9(:Y/MD?+W M"L^D:_IPOV4,FVJ9?CE]TYO+Q\'WT39]J5E?5?JF;QA2EMDY?;0RS!SMK7/Z M 3H3ISL[E#H0N7ZB/S*8>W,*RZ=A*5[9PRM_I?)K*EB I4[Y-14@JMAU=X;M M3!=ZG8I6M^^^W-VEZBC$) _>C9/ZM&[2S?;G\LFN"I.>3;(]-N\L*/V3BA_U MAE0;J#6V*LCH7O94048V05#=\Q39_<"4'5>(0+\Z9T5.@'>;I\(;W3Y<5. ML[N<]LWAQ5/W=RNP[\NKPWB&2Y6'/;,\K)3"+U %G149^<@P]YLSTEPXND7]ZK: MF^U(!E92%J[<_?;F7Q>+"896*ZE6$14L^:(<%\-DGOCIV\?\1Q;JF<*JEX4) M)^=+5I4,X ZRV%7.V)]'#3&VXU%#BG Q-;!+%%;7 M2?E&.L@_$M'96E#X%*2D=%*5\EFIF,.MC;'/C.\-8Q+B*PSGT7@*-I>717K^ M_O;S>GJ2!,7DT;@ Y-! ?"Y5)DFQIEFRC$);H1ORE/QK*3HI,B8T?'[N]ZT= MF(X7@%6]G7QFM,[V!"(9,HPS8) POS"OGUN85]Y2CJ\^>>%*V#%>'(!D!,>B M^XMV;9K1+.)5]X0=I:%3X+,I^ 7V ]/^[06!JG'FE#$SE+%=^)MI+X%O@E=X M%(%^MK' &=27[3/G"4*M68^:2'X68'#SST8UI]1$!(J9%-;6TC- MNT0%B$EGI);-6SNXL>'@&86@TB755>(PL$K5<97V6*:T/Q",HX"M*CU=C MP24UNTOEO$OEO@55RAG[><#ZXU,N*JX 7E<1*@:)YU>U569&O[]ADF-LG7_L5]TC+1 V7,\OQ>=ZZJ= MG@=;GD[+&EO>+>0-3YMB5[HQ@Q]=S)UZ$X$@4]WZ^])[276.WTMJ19O<7BL' MA:D]:K0[B.CS)31"JGK@?9HP0^JY:+L(X2>U/?(U,7'7L85[#DC3QJA=O##3=?QPQW61'\+;-SOR;\.!.]M/$[*Z:*VIN=SRY1*RV5[1,G M%NRAOB$>7"P>"3ZQ\';RU?B1J[XZ^FBX1<=Z9:E=D#+DS-(FOC=;6^_D4)E:#:S]OG9+2E-Q&T]@ ME2;L5,-U^"_S/P\,G7IWD8Z\X770'.,W3RLVRM6)&P)D;:8Z ME:2>J:1VJ^&S*$G=EZ2J=,;S-A6 /^01EX:$HE^7X%">S5GIRY59D>!N,'B_"=I#_IGG0550 M'3; A$@BTT?B"> BC- MT)Z#^/\9^79@V29O5X?@!8B\$ 74FDYVK0OP63X#G>?S=G86"YD_LUW>SV[N M>P]V@%H=-&OJ12QH:N_A&[QF>^2%M8@-SX)?H(ZF,:FPC::/: ^&FR94,C$@ MQHJ^I[U.3JG":FR]YS0WC07['6\C^H:Y;&*'Z=:DW>9ROX2X-2G2:.5L9RT:.>GWF*<>2 >S2NVIY M#XE$O.0UO9-DB=<9(?-NX/VV&]GN_2U$X+P2)MMEH=U+1W8 A= MM&JFAP2YW>-,V\4SM3FS!O"F5"=?KG5MX"ODS$7^BQD/&-%GQ//CIY5T.B0T M:$RGN>^,MR#2!S'XMTS\/V'YP$SYOF,6=+$Y*"0AEZ&CR^"4N1DV75Q%VUW[ MX-A8X5J#"P'N@69%#)]F((&)+,0AL.!CKC8#7C^$;\/VRN($#S8R 2\2E1TU ME(X-/?L!1+*YM>>_>//$%>#6,'D-3B&D+K9IS=I4+M=:W7\T^"G+AJ'X*2[X MUOS2U"8,HC\P<;AZ4>CY3WQP24_P/*W0/61#JY(#B)V%,\RR/MT>_!#E^!O<_TK$4/2U( M.@?BP,&Y-T"*&$:2O+ U&Y7"Q,",9X4*#3(WPV]WP!#@@J84S@_WB# M*##10-H0O#9!;(A+IN:,4MWLI M7-X,).UIH/(^&Y0WC6N&R/N%W>.&Q6?2<&#HUN5LAZ>4LVTO MY&S%9+5XMBIQ^S7/U')[1W8KX"0#Z^6S;!Z+C"R85G$U.DF1"/ES[??-U&83 M[=T/9D9DQ6\G$]MD/IC^J8=),HZ\B]7/[]N,KG0+1 M(&!!D+H4/I!O16468+/QCOA^&/[8B[AC 6Z(Q\N.183J1>";!]*9\&$RZ&M_ M<\6%E*BSM'\:,!T-_[['.(8[[$!Q$+]&#KUTM/B/#%P> ^D9,'*K\$$6 W?( MFQ,CXM_WX,MAC$2!KS6S71MB9H-(9'H!>1U&QB72+ _>NX+O72\4?IN8 41G MX!V%$,:CZQ.FR2;'6Q&/I*P14-=54]"70)8,$5DE*1#N/G+OD:[&W!'0#M<. M'5/T"7$1IP8LW9@Q5V..#>L9LQ"*D# S5A(H<^;!2_BI+,Z(/)YFR,UC%C[B MTX1?23=Z<;J*^[B9O+ 8*48OVB(L=D,ZP?>&+6[&TF?&/\:.LWB0AQP?3!-@ M:WX19G@$E_,@$V>V#4.2#SZ. J ?"'',@^7S0?DC^ SJP8V8H'3NBH^?4BXUMOWE\DZZ.U"!_V$FLEL M[6W^WPWP*U:4$N=^"-F,U\_<2OLC/+) %LPLGA,B6<#C0>]^<&_C)@I"D D_ M>//T&_/N?6,."N@:4\4KP-5'*\'5RT9,7X9P7X!X3]#?%;CZLUZDL*8/A<&> M& <%/ZW@ITN5;04:K."G%2VUH5>(C.@ ;SS;4Q#TGG?&H":74JP+HK2FWZ&X)9;I=W2DY[ MO1$Y:?D[W<59A7.*^&&O![Q2:2XL2,5I_V&'4YGJ^B!KPZYISXL*@#)G+UMZ MJW)GRVN#/G4.0K4AX&6=A&HXT(?MY?KXLEE+A33[]P3>1;XW9[5P :H+(K-: M06V(0[E7!<79HH*JJ=/2!\/E-54/?U]$ZO7S'5MV\N59)\ MKI*\(4QD322Y6[DP0.W-ENCK?,7#JIK/N:H6^8S:XMJMTI&;@6IL79I;!977 M;O?U=JMDH,D-%ZF^.1(EE3E2.3B$YU(5J>SJO7[)_4'W*Y7/ J!4ITBV/&0# MI-&,*/1VH,^HOTB>O%K-0Y#L< 3:^5 W(5UQ:!J4Y033:O&P3/%9F4%KI[,R M66R&3K/_8M%%I:_2B[8DP;L25)VHJ4"MM#I1HT[4G.R>A=1+ET-UHB9'MM4Y M"'6B1G&2.E&CLK;[.%'S(07JD'CHM3Q@5=*0,5/]U]=;P^4V%66S3EWWADY0:'+JR4[M MO,QR=^$U0G.I=]M5:R)\)@%)]8V[.B)3>9V44QEWPD=DUFBCGMZ]/(GZ_:HP MJQ*0RYRRJ!,^ ;-60#J=NM8?<\)%:E)0YUX"5_0[4>7LY!*^U+UZ [5=HCVOO!>F)O&X>U+_5AI^3C MMNJ\BI*BK:5HD .TM[=>[%M+T4CO]<[JU->SSI?DGD_"'CW:R;3G>09'#Y<.5ITC1S^[0>2_@37_ MC9QY38RY1=N=0?LY;7>&<4O1]-&>O9M-<6*IG6HPRU4W?J,.$M6G1#P3VA:* MZ[['L:X8?/$04(UJA!5'Y')$VG97@2F.MX$G#VEU]AINJM->%1&W;(25ZU@M M7"+#O.1@O?R%)O S3\M65(Y+/S"V5PHK:U$[]BWYE-JAV??T]FM*/M=6D,FH MY<&V,V\^I!:O\G.LPN&W5)(NP5%-;>#ND:X+I\\*R)LW(/%7&5M9QQY.\5[5 M!B.Y/.PVUNK-J(7:7?MDCZ;=83VP'S[=.88;7KO6N[\B>XYO^<3"+$)]7[\< M;5'!6W/6KMAP3E?2!LN2UAXUVITSEK26WAZM0[W:VZ"FMY$EIOO-8*:7Y[2I5W]N;$'CM5?SG46ZVJ MP=H<QLC7!_L^0JL-\U3[,9]D/\MC< MW6]O_K5X9([WBLL>;"L\VL(9)?/$3]\^YC]R;:'QPOQRG6W!J"O:(_%R8AB2 M_"\P+ON!O0?9U3[G?L19KYANN\\/ZPJ)Q0F+SXED/+-=8*>P7> <;FV,?69\ M;QB3$%]A.(_&4["Y."SPSN]O/Z^G(LE'P@J&-O718OPM],R+/4=B$%#1*5-O MHF%+2[14K_]A+%,[_;%, 2M<"5OB+"\?'RZR3=RACL^ J8 M!ST9&X*9T [Q[?A1\!-.Q[A"IT7K-+6/A@O6][1JN:4,P#HQCV:&\YC,+(B>D2](H0^.$=&4;B#)6PK[Z M.F4:!PL KU"SLH0U4H3U(E^;Q,0U,\3U$^)Z,7&U8.I%CJ6-&?QN6* [\:X_ M(Y=[LH]V.*6'1JX1653_:\9.*_R1O"N0&<= O,RA"UPOA#D;\SDS?!P[W!M8?J-_Z%GX?NO73>"MRQ?\B_T M@^%)3'N"5VB,^OHM@2\T0>;JS43C*Z#8H^%;C7][WG=S>R >T@V"+N#7 'XU0LT 3@8>U^#*T/,QOZH!.PI?0IM S!30 M-5PMFK],Q"(X8A$2L>%76+^0S-'+F39CAHM7@$G/W"X 4@V##7 M?\/_W9,H@VQ@1*A=FR%>WQZ-^DWM@ZL%"-QF&@%2X,F+X",&J/!&>_*D%0]' M&S_1$!*U\P@N4?!S/).9\:3'8Y9?/MJ.L_RMB2HFY^+\K[E&6OZ>_9@S,US^ MWD;7(^?Z.02XR]]"T&N;]ARFN?S;F#DV>\CY@04A>()YM\Q]9MEYHYK[WI^Y MPYU[Z"F!RLRC$_S@1CFO\=Q[#]8@_EZH/)?AVC^0"P9_!PS$Q)\%^+,'?P,C M>K.YX9.7AK_8+KB;]T\Z>*)X*OI^2KQK.,XJ1A B(5Y 7-!$=H0_4E?9[H/G MP$B^N]XCMS>1RS_[=O => ],"O/Q0<2WI-=IB"@CGA0G8"I@T @>C4I?6JS0 M0_N$"^ #WE\]XYWM^9[(X$ZXY8BNF(]C/(P,R MP__CQ&9>@!H%(YY5E@TA@FP'7DUF&!?\R[N;IG9+=)/D]?"C8$-:Z'@B3N!I M)'K:U'A(Z*<9U@/,#@@&1$3]!.\DOR$*(Y])HC>U/U!MN,@@]V"B06X86[A& M!TW\ !8=9XS9H0<[!-X"WX)24[#>.#C#G*)0"=I?FZ9':M1YXNI(^!_X&A!8 MN 6BH@C?X-C\"9+QBCFT2?ZD@T]\C-F N"2 V,F>P9(^::0E0I*,L2-5)C!6 M-$=/ABY9(0-P(;B]#I +V&D;/=;=K0 !0@V"<@M:T[&2T,B!(8!-(5TS,8(0/UOVO8W;D_"""$48Y,Q' MP0)7/_1F&MB3T N?YE)WN@V+S? 3_&!%W%L'52\$-_60Q3O!FC= 54/LN70K MN=)D,ES4T33H1_ 50*ZF'LT%A!-&9;LFPE*AC)"LX5M01Y.'#].U*0BQ@RF+ MAT!':4!S?S'-0:^AT:82WNSQZ MYF%.Z'N.]O+FT\TK> DH')>N[;Z%UZ/!@6'AU&% \/H90S)/C#'>+=5 FF"2 MXC%)4#OR+T%O@OZ%/V%:\&AXD@]N$C.GW+!">&.#D<7S-ES'7EBWZ; M'B-%?D!UWH- MR2V% 5/P",\4OX&=!$N <27G,N:"C#'\"UD'#7J([=<;%E#"#6AV\5(V#!N# M-K"T((;:2UBUF^NWK\!QG82/!FYDP*7BLP:,(N7&3YBCG(!3)4<=!"4F8,N$ *W4,7-VEY>H+ MR=5'E"ON-G _EA@X8.P[KB#P.UZ*[!.O%0Z8L\L] [X-.7P>>&[L!W@24GBX M'#Z2-P)3^DH)=@*$!W/1@HGO00Z?C00Y"AN#_L@2F?D]-% M _.2J @+AK@$+I..OPTO?YS:X%B*<1GS.4P6A26E#=#'Q#0R=V Q:L3U>N F M@:&_+%0H.;.FH 6(C;61:)7)WZ_MQ>/OI>97^'"6.+<"(ZN$(E@B3$8)H'KF M<0E7O8W0:Z#$QY8TS=,RVX:;B#-*\0G=O&B74/#@98$N!$6X0BZ^C<2-#R$Q MMPZX!: R$>QP>J!O08O '0):(QH/":_0TRC@4]&YX)4 _E#8 ;DM_BW[0)! M0OE-P8T>)CMG8#!-'E8:#X;MD')@UXSFD1.>V S&/'[E\ A.1<@6=(QTVN(R_WIC 8RT:F.&@"Q'-.&WI3ABJ M"2HV\EV#]I3(VPBT*7/FX#X0B<4249S+Z3NS0Z(9>@8I-] $IX7[/&N5#Y@ MX5?""#"K0G$]#MODG@MI>>H8T.GC>K=;+>FLO&$\R'_$0(]B\;F':I5RVD+M M"^9)?!IT)% W8L@(2PN42X\PU?2 .$]0RDX[UN'7'>*=V?3(OR M'1!0@LGPTH:#KV%J%&G*H5=/*PW\[S#A?(GEIPNG]OTTQQ6WD96$80!Z,0MX M1] KQ%$0#1(>RUHHC)W17[(#/YKS#+\MO>Q<6Y9YN)V,7CB> ><5DBK*4PBB M/&'4NSPL]+Z\2<.Q)YDI"7I1/A)68D"!NF, RT_IR87360H XO%YF $B"?DZ MM066\^)O_%L13' -!YX%K4K:<1A'(1*="PG739/(F8"3*Y)LPAZG6)&V1=P& M)>72$Z5K]904V*XD'%]H>I"#WC>%/^V6WHK%HLY6BAOPC)^IC#(S(UZAI\ MDTN)OYFW&$N/# 8:9K'KL&1]\('2]O !B]%S640T MM%BW D'&-.NQAS\9Y*[@2%&B36-NC$$A<&OE21+)* ,?9C[!8RR>6Y@P [V9 M@!LR/E<8&S "S)=;9S:9V*8-_CL^$;Q]' I=G7*34G8-IG;O&[.9V-?A84R\ M4+2AF\DN3.P?V76HM9[X'W1V&KCV6M9%7?#!4CZ43I62W,FR4V;Y3_M>N%Y$ M8;;DAV$H"KSL"H\(;1M:.PSU1.:(.P:K)-06B?\@(B.:B8^Q8#4R M@3)*%'I0E306^ZZ8.V+I&"^2:E\NE2E-_;@D\9DE6*558*6JA\JL(RI=8W#/ M(IVRVL&Q^!/,F#UY.BO"W/* /R9+5F_Q9&"@8:J>@5T-I[PEQ1,^$3?"T,R! M6&!."_?6?-*I%H0,IDRQ+_WZ,7)"6_LG"[7W44!!\9WG/.'?J'GE!HB#.D(+ MGEPTC: _4YXZSR1P3R;QQ@VLS&2-5,:/(BM0K0[?D(0QV11:P@1L*VT;BG=$ MY!9WDO+#/8\PXR@8]"*^"2(=1LBC&$-YJ)-LV3HD-ZT M([[311,ET@7P\ <0?I$ 6(C08WE9M_')W;BL=F#9-XL8R(XW]D*9RGS$I":Z MF#KYEVDGDN\V8-T'[L5X/HD^TB<_P.+AG)A#)D *MHN0*(4A-CA9FM3YDX,[ M\13D13$V3G.5*?<.X\QEZ3'#/2->LB'*=5C\0BH''#,P6]Q?QQQ\*';H10F/A@>7 M+,QR3](E('%J'1CEWN!4=(%W4\XXUMDPGDO$7& ZYQZ;-DP$HB%+%1+QFHVX M4D<\0505DI?*70=$^%DI=UJ[UQP<6?YYX672J&ZIA]UBC[O"%,).C?@*SP)F M&N6E$$-V?_ 2C$CHS5/'S99/ P^W0<+;[*S\\ENVP]M;@U.R)QU>,)=.WYS\ ML@0^L@/V2GFSR%<4)+8FF@ZLPC+,)=5!2IZOYIC7V*#8XR9!4@>4E.H(W1'K MFR6:I8YF*\XNG2=2"O%D^3I_#HK/*K9&9Z!!46_:6+2<5*_(^JO\="RX\W1< M!R\R3 CH UO>!W$C^S=/K6!M10\HU!TPQ<:59@"E+A6?*76YO<.95I#@(8I< MQ0KM>.W,IP;M_X-ZO#5##^M(04WVE9H\#?95:E+QF5*3S_(J"_=N5NC-S]=W M']X*EW(@="5&Z(J/J\P!2E\J/E/ZB>1Y!$_DY>B9 \XIBX@+ MRRO6XWTK*F6;&";3\=!*O*^&<#O-_HOD('5@8)$)S-6SA T=U;O$@9_N$"?B MQ7ZRKOU&A[CO?$_6S? O/M*PU"[_14RQI9UB?K+;=D@_^<9CLG&B)V<700*H M]-'@!Q#9;.YX3XP7"C W$%^/F3U89&$'CXQC1H37ZQTX2.B,@-^^R^]A\$XX*5I"2=(+2>ZS*G(5'E^"#2 M6]OIH];B2"$=I0A#Q"U&ZZZ!^XM$X>AT,X.0[@3LQ .3Q1!\&[JIW?*SD1)1 M!H=B+BS&PNN-<> Y4<@TRW,H<2][=,!=*(A# 4'P)Z" =H7-DUT:G57Y<> 8?/#XC M\\P$-RIG1>1:4*E%=B@(6Y!Y+M;Z$:02K]*;$:80!V-*52]P "C[1YJ5X.JT M@X$ER[9)U3.\'H27+>H+DD12H!/;"JE<$+X,3DMRQM? 0@0LC.98'C\0F^"1 MJD' R,7GND ^&1T:%F,,8-P2HD#^QGZ $<6:/A]KARK$L*=_)F6@SJ2CN62*1-#[:@C'!VC"(%.67"W?R9M_3WX M-[XHCC.L&>)2A3Y'390O:&IW!2Z&Q.^BFF\\:&%/(+YSP^1L()I^6>W"SW)B MT=Z]Y]N54HCE5*@*B$,PDX]DCE)5J/'B8D4]N$B(U\>=*CQ3 XX =)Z7"""4-0 M)U*"=($.R>$;8A?9REG[;>0CUYR>MH2 %?BXK,Z:B ^?]X,D6T$4N#:\PP,V M-D&LK(SU$@TK3JHGZ2XZ]^=[KFWJ'%B/K[SQU("E;9@.XM 0N&AH!^2]@GQ9 M>-3$>TPCODH5*P/(=+S'9\I+ >4XY+P7 BY")^9XI 2OFOQ(J!T1 8#GFPSR MX3G<#-8:9E\73YLCX/%#+4FN)X6SQ^N812#PJ.(VSM.?"ZPQ8;!K1;^NX>Y8 MO0A$^#"P+9[_LTT9_DB^$BB%Z8?#$[!,/3G,F4)GXCE=76/N%.%;Y?5II)CT M90N/C5$*41E3?A!/:D8!16L$.LMA;"?QCVCI1&K2BF_7-7%<%8.XR*=[N+VA M032UFQB9*?V2Y/7X+WLPG,@0X:< H.;9%6..1VMAH>BXFD]'1 EC M4]!_6\ M_G*C=?NM1J^E:["*'R $=N_M,4H+QT_J_:+]YGD60GS30PF&6!>@D8;3^ ;# M^2*&@TN=%NM"#VU3V8YA!/DB\7,%\9G!)#&;,DMZ0JF$2J@!N"N!2YMX D\! MMM_B7D3:#Q"PA4M; '47\M\*O6HNYL6_/]>,%5NNM%*/5<.$L8QF,$QR*KEY M,GYPGXG=BZ&N-U#KPXFUO)SF+S(F8YGWAFO_EV97=W[#<)G6 MYH.+&&\ZJ/-019C[%<2Z>XI+ T+%E),6). 3\ MP024: 13\'<<(\8I3<4#/*[:_!UD0QX0W>(N M8";12*];'&3R4(K'>=\.,N!\(RYYE0"\-S#'?\\6IF8E.Y'\1HZUX"6U,93 M)7>1$ET![\8!%A?>-_$0I8[@\Q"I@RF+S('?";/0+J%]Q$8E&F[).9ED/;\OQF";^ZR!!I _ M-7?'R^/H9@+L!2]&MJ6QX#X\/7W,GCS,O*#PQ=MJI'>0\3.(;U(:\$&.\5A) M]M_7&[1T!<>@V8'_XJ=&)W=B! + 0_ZD(QI)0-7&6;7QW+JB.*0MBT.(U?[ MU@7:[PS[W&BW*3\*6^,Z!@'J3S&*"*E!H\3F-]N@5;@T"P[.9;3:U#QB+1=@W)T9ML&=SW&D&N92=63 #B7U@0I@Q3T^B MD' S)&4",8&D7;E'?].EL AMA&]3[BZS=PBN)HXP^_-?O#T+#T^#*7-"<@E$ M/Q5*^XESV=,HM&!D00Q'E 8F9""W'LQ."QSOT9)=?%R#>ZX<5UB %AJ8V<71 M/@D /.H9\:1-C4"<*V=@Q@G9%<-MGC^,@RWR9PC:@T^I< MM? LHKO\4CHG3KZ&])[!:N/F;",%GP14 Q^#FB09,PDFA7H4O!+HXL9]L%(P_F*S 6BWF@2C!L'(=ONV=PIB3@@_215 MV^0M-K+XX%(XY%L44L?U&O>1S;\1KZ%T F%IKA8MZ?5\:W[!)DLN=4G#(;X% M(X7!$.X'8J,.O/".LF4\< L75C.F-29(<&H([@BCP54V,U &FUX.T@@[+TC MDWQT/6%43-%BXH184=BN-"D?C^A60Y*T( W?65*?( !F>7'D8K8$%H'"#I<7 M0<3=(Q,FQXY+Z-;CM^C04+B[(V4NW6R'RI#X6U%(Y-:(T);@'GDDW6+'"M7%0DO"@)*3__TQH'L$8EG M.VBJ I7-DNFJ9#*&[/Y(Z>D)M=2C2FF>)\+A]2KW6QIX;!9G*0S(! M:'M%'&& 1\ QI$W1H$^DZGBE[)"&226SHA7RUZ69)^,34Y1"]4CYLY\ZSI)HIQF\35#8 Y!*8OTES46#"#I@T^'FY29!F$$T+JW5A0 M9.)'>J+-T@/\LRM;&ZJRM?--1Q$$G^K0OC2 ;'MVD16.9IB&EWU'\INOQQW1 M9-$9);F#.*[C"6BTSQ;'@A- I>)A8^;@[I%H00U.-^@TGOH7-R2M@>-[N#[E MG0/YTRNG!6.-4?Y0M@9V$^IM8KND3O(UW))=W77\2Y!Q:W#?L#/2/36):IB> MX_D_:_[]^&6GWP=W5OSGU?+12 C](2C*.QRY?[H_ZRCAKJ\!6L :NK]>M'OQ M@AVR]FS97@L6:W!2PV7S'Q"Z.K9%"]32-?SG5?9D9'HT?U\8Q]\7AI",@ 8@ MQ D_IN8IIDEZ_BL=POO(#^&]RQ["B]7]@9=K8Z)4@WDN%>]PWKDA*U9]+EDX M4YZH[M]Y9NBBZFI3D\?&AR^*EW.E./+&TP=>%(!?$[PZ MQN(KH=Q4*#%=57V15#Q2+H^T1XI'=>]B4&'F)&EJXG_BJ MJ07++)@2:N2-%]67Z'QPGP*OJ]4#AZL[+#-8+<_3BCM@%"^GS#2\.$1:Y%AO MS,MH_[3Z]:.%U#'EQP\[HG:[K[=;PW+)H;RUC_5JO94JNO5 &J@J[> MZW<4,U3AC4H55&WI_=,P 5/%< M[7FN-VRV*T=4Q7%GS'$=O=<^9G"M6*[V+-=K]BI'T_T'_K7>5OTM!>Q]]E%_ M1>41/-BAWFZI)'HEWEC&\K;([7X57AC M"8O_\/!FKYJ_#&,I;_\JC5(&KQJ[3X+[NCDB5?;524 MLNZ=HY:YJHV*P\511>U'53!5EG -]=%0^5.5>&,)JS]0H50UWEB*Y+?:)1< M5',M:K'Z@[)]JFJN1"W6?C10070EWEA&!J7T8$KM3.TSHBKN]'[V,55-#L"U M>T=&.52'+A7/=8Y:&ZPX3G%<1Q]V%'Z&XKEC\MQQ3T HCE,&I8)3[I7. MBN5.@>5*1L8]4E\"M=,J:-Z]I,%\]4+#D>Z_:/"!"B.4QPWTGMME150/'=,GNL=M2A&<5SM.:ZM#R]5(DJQW#'#A^8Q MBSX5JN;1DP(75Q])[,YD'\-SSC_\K*IEX=DD?=A3$8B7>6,;R]YJJ M+54EWEC&XD,="B$M5F(=ZK'R[6[9F-KJ MY.HNH=-M.&6^9E, I6LN.__SJ35)>[3U5O]$VXDHECM-EFNI/5/%<,=DN,Y1 M3_4JAJL]P[6::H=>,=P1&6[8*S6;HFJHZ\9P_]]ILIO:*]URKW3,)I[/1."O MA<:/&M1+5U0V,6FN#P>J+54EWE@.S*_:+*_$&\O9+[V\5%MFE7AC.?NE"IFL M$F\L9==,'PR/F5%0^Z556?E1V642:KMTE^CISO<>[,#V7'B 7Z_HJ28)D*X^ M'*G#IHKECLER1^WTH!BN]@S7T]O]8R)E*):K/NJ\OMYOE^BU*)U73YW7 M/2H>B])Y2N>EXK2VWN^<"/O5*B]PMNKNY:C:-TFA9&F6$1J:,?8>&-4TP+5\M:I]5I82,N?FFGU1YICT:@P3\3SW&\Q^#G$FE3 M73XA\1$B^>M%ZT(SF>/,#1]'N=J(E,/C$_4_C+85.%*XW& MH5]C>KB$[J\7E_%RI5G,!,HQOQ)IZX*,ZM\7QO'WA2$D(Z !"&'"CZEYBFE> M7+T>XS]?29M\Y-KD75:;O/X'7$+_%B=7]T8M(6UIXFQ^H*@$9I92?#E\46H. M_*4%BMWP VY/O"@ [1^\.L:2K96SCI*S6,[0,%=1GA1CE,X8[5$5&6,K1:MM MM#MYKMN0Y/.#Z\[]=FR#Z[,@]&TS9#A/^+&&VY-KTU'M[O'+^SOZH*LP,!4O M"%ZHW-G>O2C=[$&0N0CSS.JJ0JO"W\=]83WSORE?/&-S0)O.AFLR<*?OX$XW#9R^>)\]C^HD1WZVLQ:LMPO6.>V-J9X0X<6>3SVRE]JVSLQC;VQ@M"W*SVV0-S MHSH:TPKJK(NK?D?!%2E.P"'U*L<)*K&UL7:]Y25 [KT,5D3-3DF;=L=]S3%J M?FI 1K5:.[]&^8$;:JILQ5E[2(/Y:/C?&2DOW 8-#*<& $Q5S8)>7%VVU69G M-=Y81CC04[N;YZ1:/[. 464F:E8+0F_'FV/=N-*O*N*NV%+48O%[97?45*[K M7O7K;\R%P-LA]6I8,]NU@Q #\8<:)#AKLMW?UKN#,K<'54')^7/89>^8YYC+ M+2FI@R^N2DIJO\.O2DH4PZF2DA4F1&$1;# 4RWZ0Q\;O?GOSKXO%-6VUDM/B MXOQX4>3'B9YYX*=O'_.?N/:$W<+L\F;"^; ]$HL-+Q9#B,F[,)K?WWY>/QJB MMW0:7AO:U&>37R_^!G;V8L^6'FPX'?#W)MH-_()@"Z__85PM3"?UJ71F.?X M7MMX&O$&/!O#MP/P:X!8RX?#^3!7X4WPID/?]IC\QG"O!D MS5#V!GB2QC)9@B#9NS\E[&*GN82L0E^M@3S9=^,D,?=N[Z3=[+6G]=N]Q=6F M&9=Y=#^]?@E 9?8222KDP^PO-)F?>0(GFUDH%,=]3_!B,^R5C5(*N3F@PR3N M]DKWJC!ZV6\<'EB8-I_W03F)6%Z.!)F[6JN@UOWHZYZ?@U96>B4 MD=X#YR; 3.7G"?D@S-[\S &5ZD((#VCEMX:7%8,I^?L>&$W77J$Y1\,FR6#-+VHVBK43P<,!_JP MK8#:*O'&,G3 H-E3.J#F.J"C=RZ/V4I.J8!*K7ZS9!?PQ:[QEMK8*8ZWWD6^ M-U=;/>5)54L?#(\)=J>4:I66OSUL*J>Z$F\L0_;;>J=?LEM=S<6HQ?*#["O% M7XDWEK#X+WN7)2_^JZJM0CW6O=/L5&?=U;;5GL*H?QISPSW[**KD,N2CB^L! MY]O3.[T-,9*-I1LU% V>GIWDX2AD@XE'364 MCFYS@X:-2C:4;-10-EZV>QOD'LY'.,XZPZ7D8G]RT=TD)W>>?:;O?U=JNHO[S0.*(-Q,DOK/)5#TV]\Y*- M5JM9U,+MS"2C9K7-RGKLRWIT]5Z_R'4],QE1UD-9#V4]E/50UF-?$J)?]HM. M=)R9A"C;H6S'-I+1+*K,.3.YR#]1]7J[1M3[%YJ5K48/]KIUC46//,]# J;< M1KY,7FJV:_K,")BE_=1N#C1XNF-[KJYYO@9R\$+7MNPC:U+S8WAJ"=9C9:SYI[ =O*JSYN!)-[=T/TXE0$=*;^*T(QHQ_R?;# M\/@US]'E^^6([GWO,9QJCU[D6-K4>&#:F#%7:S5'+YK:!U=#Y1MRBF7G043S MV3W\MC09 \GNV"Y=2-I0@]_L!SM\TBS?AF?@53CRF]O_?'C;:(\T6"N+S6RS M69VNQ^7J"+$P5N3+-=^0*7$Q>&_J('*(14 ,I"##!WX37O'@.=&,FLO/?<^* M@)\L>+D#[.$')$W,A7DS_.L1-8;_P*RF]G;5B+3L8/3D1OA;'PXNM<@D0+S <^(!+X+DN M/?',*-! "=P;MHLWN#!V^ I\'Q)[TXO<4"SN M#Y1RR3P6FP-_X_=C& NX3YR(L-3LAQW0NY<>PX>0#"YG&'DCA_<9H10(8>CN MX:6@$$/-C69C> 6\-WZ= ^,)4*D'T1PMIIBTU&&H&$/FNP8JQF1/DH\?Q<]E M]_ ;,/93K!;YCT!Z,$.7T@SM(-VK34ZJFSP,PTCI@"6[, -90@\ N"KA$'SB M(S.^,UI)85W>^$#$8*K=X=XT+1C:$'BV0Y.4(\EZ#F^I,U6M95*Z,+#H4MN1 M340*<@4-! 2*2>N]I?,!CTDM-XFZ@0]Q'.\Q^+DZA%_GXQ]Q*-SUY?'9KQ>M M"\UDCB/BR_CO 0V_CMN3?<5;UU$R1_U90ANPS*YH8A1]QV84F#_,WBY^+I, ML$I?B>*/UTD$>8(GRZJ2+HI;(K1[BZM-,U9-$9Y%]-?CJZ^DWCYR]?8NZS36 ML5_"V>5%51/Y19;/;2)?B550ZW[T=3_E\]]582G5G/K@S=8[+66,%3^?#S^W M1XJ?%3^?"S_?4,ZHCAR]X#XE&9K?F8$SO#@MCZJ\\S0O+4K1!CPA[D6!X5K! MJXHZQO5RI[K&VNPLL>I MPDLBQN3H.D4=,F#C(>QHOV>=/[A_,A//)FD?/0=?4T#IS.@.?LQ^S;(?>S!% ML"/KQW%@W(6+JWY/'PR*8$)JO6CG-)B#LU%O4-@]^-BD*H)+.K$EJX\&ZNO= M=E&3U%HOVCD-YO ::-@LPME5&J@"@ZFP!GK9[Q8!0AV;2D4M#6K-.E57/2_; MS595%BX?\NN0&USEQ)TWGVZTCX8Y)1R0BM!>"A%*#*8V% MBCLCE$ZI<]X*[;[5[GS;#55 >I)2T^[KHUY54LCGM'*5&LP1[+<*2,]],(=G MHI[>&U;6B*O!G H;=2JS)WI.ZU:IP1R>B?3>I>*B,Q_,X;FHU:QLC<\Y[Y-^ MF3(6:A]9:#A5)?\)#^;PQ7'Z94^%$V<^F,/7QJF0]-P'8_T-IPR/T%DVVX!Z-]V!7@V]7I) M+8&:DXQ8=M+*?"=1I'[L;]QEH7_E$:1 ;,^91L/^1MLTBF.47)_@*M57KEO- M@>(8)==GNDKUE>O!Y49^O^(8)=NAQO!"BF&46)] M@JM47[%NMYL;G7.K*\L]WOQ:X)0O\?6%-U"#K6\:.RP M%?A-Q]FQ.^Y]83_0&?#;B6?U[?,_10/77F? !37_M'189R_ &\ M>=+FOF=%9J@YMLMTS8M\F8+4[GWO,9QJCT:@6;X-WVGC)\W0\##T"\UV39\9 M 8,/6@H[2MZLXX6=9B][8>H\;_P6P[7@7PUSZMF+,]76NO8XM4T^F+GAA[;A M.$^:-YD$\$ ^K&;KA6:QY/ZEYC[)V.!79L#33+QTXOD:O K^]1G39D"C:: Q MUV(67YZ/A@^7=MNZUFEU6IKIS6 S-)"CVX+C!G3YD!@S\+G=EKM4;/$%5U@ M*_.OI0;$K=:+6#_$.Q%Y*D-DX+,/_/3M8_X3U_;\79A= MWDRXH@2*<_T!+Q9#B"5V832_O_V\?C1$;[F=\-K08-$GOU[\+?3,BSWG_2^N MOJ*:PU;N-_ +4"%X_0_C:F$ZJ4^E,\OQ!_#:OKKQ@A!I% OZ;[X7!*!0O(D= MDG;@7WRD,0&][*OJB%<5*-8DFL@OI5J5FM32?@(UK,&;'5"%H.!]K0=J63^ MVDOKZ'MX.4@]7 JZ':_WX<^\\>%WX!N].(0:UKY.6<:DF M$\ED0.2$\9.)[ M,WJ,L'EP#?XUC@*PBD& %N.!!>$,A1C?&$3SN>>'VB0*(S^^"YD5;\/7!/@, MVYTX!IJ@IO9ESDQ[@CN;SI-.5\F!!=HC@V>D3*R;&;1E^PSMLP%^ES9EAF5Z MDFR&<$OD%HR$=,FS]K[Q M"!8*^ M^H,<))P8'0..3?@ ?'S@LS[G862Q;Z@;N>:(_L#5_JQ6"::!/1QUB'I0$"I M@QCX>.O>? !^"PDF2EBB/^#J%<9QT71T$N.(EMIQ\/]G\4Q!3][[QJS@7CX& M97N(;SZS@-$"(LW?@DIR//(S.//<4N8A=8657)%P4V%2.7>T4AY[RBW*#2!@))C3&QLH4.-8DE")&8)A\9F&&]JF/:@'Z%'+28L>N!0,)X?,\U'FP_"K27-[?_^?"VT1Z] C<=*#>SS;6^>Q!Z MYO?&F%8':0JCX='+HO),K5M*\QH9=SZ3\#-FX!/9_S7B,*!\<:J"4"UY.%R6 M_L#U-;U[%RZW-(\NLE-N$&?-A-+%\;F6E10]PW]\+9.8(2U&^2]-F]S,2X4Q M+7HS!ORWBT\4'OUVN85$IDS/#4 4D4 TLLMT\&)C7I-QZ43_D+Y-?'B29;QI M$-]T;\!M?%H,EELS(]]GKOFT+KN=H0D^@J8I1'G=K/D?&X8P>YGZ^F1]V@74 M' S%<9.NTF\.M,VJ)T026?9$15'A> M.WG>1JDVO#!G<':0$\AGM#A>.@8;/[%!AN*\'/(6&FP*9L$VVB9R)MF2..YE M/YAOVESG\%^\.=J"0.XQ+8XO"'%(^,*Y)#4(4R1%*?L+B4$WI=M=)]/;[ZM_U79%MV^$1ZX\:8V[A? M#=$KB*:)&:#QEF;> Z0@D)*DK(@FJ&1^R]&,Z#0 M3236!(F5BCR+'+,%?YJX$/7XS]4A4W2KQ>M"U#PCB-JJN*_@[EA MQG]S!3VQ75*(BSIZ%*MH&Q;#W?LYS*QUZ[]8,&[PA;1M2<740;$4CU2@>.C7 M "U@E=U?+R[C%5UK]JM15+?^A.TF8K;O"5Z@*?Q*RNDC5T[OLLJ)V\'B8ZKR M,+,\Y=JNQ7'FG<50C._R\DR.,[^TP"0:?L"#+2\*P(P%KU8QS-$T1$=IB+UI M"/10:J,)%+>>/+>V1[7AUN/ <)R#K?K$0AZB4;8-O9SQD^;%U2(&)C&I%*>& ML!QK#["U>\<^IW-QU>GHO7;14,,WEB!L+WM=O5O8-N!(TO:JT:KJGT:D5DZV6[H[=&1:AM2J^>]]H/]$&GJ,MI"6NOG-=- MU>H[*G'"H@KVPYP:[CT_Z4CU;*1N15D)RJ,EV6T4-[,Y,0%9D*A447B6KN%_; M5U]X@3]&\_$9@+H7M_]N!Z'G2]RB1Z9-C8ZR;DK_M*WS&2S,?-3)TBQF#]]'"VNWJ?#C(M'US(9]:6=RB=Q]'L.;#65 M)YM-;S:#]],!M;6'I>GY_,0['<06M$L1J\Z\F3F%PED M7<]M$/_;(9L1!)OI1(3C:;&YSQ#B*89,2)_\Q\X ?N6JT;&-<1K>21R%QYF"7@&EB=?_ M=)F"!M&V6,8VS#\#/;/M6K9'VZQE/\&C.,!:#M)DWW0ML[,O6-#6T1=TF%B@ M6FONC7@YA>+2>Y9:V@B[RZ>-3>>!(Q"KA):U%/KY*>5ELXU7)Y@L*#0+HCY DYDYEK.[KG+N( M4FN^S_%8/L1>H_)8,NJAT*TF.P?>^$^]M$._$M%I*300]DS(X$_=00K?1 (K M9-QVCOC&S_8R$]Z%P]!!*E)>0?Z=U/WY*&O% GY3^TT)@U"E?F>R9@E&')FA&)ZA?.NM0S?+!X4*&;0UD[\B=9H M@3_;@T3M(RTX?MZ2C<$O.5R7EN!7OX_). MY5;DNA5Y]:]<:R.0Z'[(5DG7OH]YAQFW M>N-::^\O-M)%P.,QXIAD0\KU0I"7>^.>2Y[A$DLVQH*: 5'32%$SG8-$IHPD M/_J1B1M5EMS9@A%AZPYP:D%4YAY\\QS9EAO0;I_@[T&78RZ/V_/V'8&7# G4(_(>LY45 JX1^,&TK@-Q@; MYHP>AVW9@>EXPE!^\D*F=61Z=I/9H.CR>U$A7+MN1!!]U!4#[,Y[SY\!71O_ MBH/8)V;XPJ(N[_K6F>U 5#\S#"XS@NI[+GPVE>7! 0 W89@0.SW MS]1H"[*[K *ZS M33C0E9$@^$F)5Q+DQ/UK6=R^JF +.IP:(7>SF.O-P-0(/VX!8A_#%*RVDQ5F MF::\X&3!>!8ZZXGBAGB?-]5R17N#'G\P!2\_$W!Z)19]SPW$S&I IFC$4MEN 6_ \":Q5PVCL!>:HE("$ORNISGN M.O+D1+OU0O)UZOERX OL@:IRS!P;E"0P&+8ID_<\>I%CI6)G)"(/YI,^I5QH MT%TG/;\T4ET;@]=@TI-6WYL[?1I=JJ./L4Q^WGYFDNU)L\T&A^AIL_1@WL$E M6U&W55J;UUWG2.K"J7HL"SG'4CT5 M2YVOZ4C%4KTDENH5QE*])M'2]YQ =ELUF86A4]T# J#DNP?#B>+JS22L5"0K M=JGAAH*6:#IOIC:;:.]^,#,B"W([F=@F5B!AIQ?Z+4G, MB=]TL#I@)OBR,"O;V0K;E:R7K:*;7<1ZOH_;2P":YX!?P M4.US!%JGW34:[?Y+]DH#MYIQZ_4EKN>">0CK>,TQ:-JC;D][F?[VU2MQ-HI& M[5KRHZA^-CUP?;BS1T-E5U'A@$#!!VHX,'\1#[MCM",T_E>'\LH M1/WX.+UU 2.+ KD_P@,WJ^> M-)"QY"$R>#C^8<+J Q\Z_' 92"CQPF;XA$.'1J5B)9-4KY*:5L\^:.,T?>!SM2%.AH0"E M*,\W#(".=;<9$&SX(MP=,X;'DS('/*C$0)#23),R"=I\24I2VQ0,P@TS%.<" M'3YY5: "7J4CI95ZF:L6&K:,#%$-D&9#G0'*QO!32@T",_L[XQW/EV[0MYMG MA<3L]*.AOHJ&SE>Y)-'0O!-'0_@Q$PW=77_^JGWXT-1NO_[^[K/VX=/[V\\? MK[]^N/U4=^6CA%C D9BQJ7,XB@QGCQ) M@@9+-#R&SP%+F:T@KJF@25N>QA_*<[>"#!@@DFW$:L'4:&B"42@//E*]*SB\ M$[#L:./)N"=[(7!_A&^AO*WM@N:SK8C7Q/J27,;]/?JP(;H;:?.,NV>F<+ 7 M4[XR*\T$PJB;H7"S=/8J?0!9/6%D%(61HRFT]G63=IVU]\">GE][!9$M, +B M\ C1_"5-)/Z=]_,9"+@B"5*J'=H E_N^PKGL3BH!4" M=+XLE&8(%J,YZ@#<"0<=$DQ)"KF0D0<.;NV?D"]=PQY&9<:\' MEC#5":OCS6Q3P[(YH=W)SL2[==QD4*G=S>U_/KQM //@EC'#N_A66:*)#:$I M,X:(<"6>@,7 3/LB M"0HV<@QR]ET:8Q=B1PPD?;!N#[8/7L5+N6BO0-+ENG&9CI+EWO.YNA9P).-P:ML$B_F"2DD>!1 MQG>\(PC9G#;99]Q%8;$&"61BC@%-O">&:PW*- 3'Q<=EC^9S<'C\-" ).$;? MV=1S+":5JQPF)KE)<5D,R(M)0 U3D2X>\,E2 )P;J:O%3(#E(M1F/(^1VI(7 M94LS@YPF^,$5.[VT)_XIL\SMZ2 ^>\T#KSZOI0&/PVI5 MY@(SU>9)AE+[,[+NZ0-!>0 G@<:6S\8ZOLD33[AXH9AC=H\=T\&SN2@ZH7J^ M283G0M(;]\PGJX$YXVQ55%*A M/UQ*&GD :#KG0JUQ2N(X8<%0Z)RKNXQVI. MR9-UX#\.\2)NF,-K0V:M+>8A7Q8?R ]?S7T;CP0P7K,1^H;%A&T=>]YW#3/_ ME)?BI\/(RB-OX'PPCR\R5LC#&&O J_Z!26]NB3G3X78\2@RFKLE%-E-%'8;O M/^$?_#V"KT19VPRS-VC.D0J8]R5O?F8\<1.?9.7CN@=Q)9$.JQ(8(?'?>YZ% MI4*8M@Z!]C8E_%%5Q'_0"W/L;4;9_GU!S_Y]3UC%I1N"C"^=SEK8BWF+).;N M-+5O+H0U" N%R_#%M/:E/.J:2P0M9_ZTC?1 14^IQV8POVU4@PEU^+13 M]($'W/O&C%@UUFVTK89I?;DQ*2Z2.(P+D4VGB];-3E[$G:8$2(K IXK>C#1I MMUH*)XEOT$B(+(%I!Y&8XOP86R1&FR6#U?NVRMTFZHDC@(7XXV0KB'1&7(+3H[D'(IQGA30(H8 MZE7HA+Q*0CKS#_],/-S?#GZN#EM5"/&9@Q5Q5.U?+UH7F@F!FT %C_\.P!F. M_^9[9."/TY[4BFTR<#E! 0AH\?U-@.]Z)6#>VB&;94GH\4X5NM%@S\H)EG7Z'W_K)Q]#= 3^-7]]:(3\^8A&]P?M2<-$/DK*=1/L4K_ MPA7PG=3,G/P'I7Q9[904YSR+E7!ZPY>@/&&JC8LWGJ[$V+XZ^#CMV+%/< M4@UN4;I#<8/2'2M'V1OIPWY1I\*R6&8K_VKG/.,>ZX_ESN:B@Q7_T!DI#ZM: M?*^/VI<58_MJK(_2E/FC' Z:[;[BF$J\L1HUN]3M58YM2R6:*. M>\'5RM8A;,Z?UO=\=\Z-WDX#.>U:K(D;-3/OU6B<-N*_B-!I0?7&5/AQV-XB_;K[1W,0HTG33O"SPJ MZF CCY6_38Z5;W::/@7VDF LEWZ\/GV4G#!7\@ZR^Y$;K#C-OGAZ[A2$NF3P MC&X:/&-E.[FW;&(0.LLWA%G_PEP;." !S:@[0,8GPD\+$;X(V%F"LM4:%2'# M:+TTHZWLM?'1=IGVQ9BP\"G=IE QF&*P50S63S-8OY#!^DWM]O]O[\J6&L>A MZ'M_A=ZFNZJ]R';LA**ZRA#H9CK#I!)F>9M2'(%5X]@9VR'P]Z/%SD*<$"#! M2E#QP&)B2]8]5U?2N>=RZ8RKN8:B,BW)3>OP)=3=(@Q1$NI'B)\E/^0N^B&W M2MC79<*L(1D05:JEQD22^4EI!(DT8LA;=< M_RXU4@[EEQT_9FW&==E;U]OI!M/3-7N>C/=Y_K^-P>TZGUS461,>HQ 4>$XK MINQ/8^_O>LO-T(:W4];0AQGV-A?;'I>UV0HKJ!K^:E;!$:*[KM&P=7C*NEWY M:C=%@DTQF-EDUNHGW6*]BNBJ5PLQ#UZA16>$^0U8$,;U%^@=Z+"S-BCP2[-/ M.XN^PSP?GQC&=#K5,QSH=\F]X:=!2.YQ9N#A'4J-(AUT(!VC%[466BJ_,F[^Q.K M1G]B*7_RO#]Y"[8=V_.<%FR8T&Q:CD$QK<&M0+V(7 [M4A9^5V@'HNPX.U)B M J66R5(BT3>%_??$OETC]FV%_>.+)0I_XYH.I%\O\#=]S*2EJ_W*V:/60=.L MRHN(@KBC4GE)_?B3+;)_8JK HLZG ND*Q6%:=DPC1_^@9[G6>9Z5,Y! M>)L7P&E!J"< M^QT%%-F!RHZ: !CA1@I !,MW>A ",[8+HI9M7E7Q6>OG*@KZ-O/)LN%8=4XAVSYV]TR/.6NT8GZ9N2)[Q15Y5E.2*7?7 M_IWZ\7N23++H<9Y@4N+3UBV>\5Z5(-_#=R3+"U)5G[$C."V+_G))_0#H:]#P MP6?N&:X3'=BVK4&OX3F-+U^+!TU)'I;W'I&,SRKLX[.Z$S;G3%A?N0,A,Q:7 MJ Z>XENRIV6)P-X+UEN M_:OOU_[-'VP?Y&/G0W<7N ="P^F_"4FQ2(HN"0@SS1WJ&8,0Q72)Z@<\0QJV M;.=K\4$1KM);A=2%#B?4H09HDG&N[BR-FCUF@$%&^T(O4(](Z&,&.$31+7-] M[$835B.X^ >FFX$G,=.(8/>;ZTUMEHH T-&]=QZZ8Q,H(7I6@UQV-R5Q0,8H6FW3EZ/$[(NV MG-4>S#'NP:CX^UCC[U^3, :^#OY"CT?IO X-:2K@J*'I"@2'T!\%@KTV?4V: ML@1Q]DJ;5)Q=2YQ=V0Y/M_9_=&^;5323CM^_T;K^]POMK'?A_ZSDC5S>]&84 MC(4+X:V6)M,Y:6OY$ELO@&7.R=K^+5*--O).2IH) %:S?.R<:K)$.ZEBH!1_ MI#^>&MQ,/IT:83Z*OGWZ'U!+ 0(4 Q0 ( *2"I5 #4S#1:@@ #I - M " 0 !E>%\Q-S*8PP 'ZG 5 " &UL4$L! A0#% @ I(*E M4 IFO0N]0P S.D# !4 ( !]UX '!R;&(M,C R,# S,S%? M;&%B+GAM;%!+ 0(4 Q0 ( *2"I5"+LK#M!C, -?@! 5 M " >>B !P XML 38 R29.htm IDEA: XBRL DOCUMENT v3.20.1
Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Dec. 31, 2019
Gross $ 24,499 $ 24,499
Accumulated Amortization (7,884) (7,130)
Net 16,615 17,369
Marketing-Related Intangible Assets [Member]    
Gross 930 930
Accumulated Amortization (550) (527)
Net $ 380 403
Useful Life (Year) 10 years  
Weighted average useful life remaining (Year) 4 years  
Noncompete Agreements [Member]    
Gross $ 270 270
Accumulated Amortization (226) (222)
Net $ 44 48
Weighted average useful life remaining (Year) 2 years 9 months 18 days  
Noncompete Agreements [Member] | Minimum [Member]    
Useful Life (Year) 2 years  
Noncompete Agreements [Member] | Maximum [Member]    
Useful Life (Year) 5 years  
Computer Software, Intangible Asset [Member]    
Gross $ 13,229 13,229
Accumulated Amortization (2,618) (2,275)
Net $ 10,611 10,954
Useful Life (Year) 10 years  
Weighted average useful life remaining (Year) 7 years 9 months 18 days  
Customer Relationships [Member]    
Gross $ 10,070 10,070
Accumulated Amortization (4,490) (4,106)
Net $ 5,580 $ 5,964
Weighted average useful life remaining (Year) 3 years 7 months 6 days  
Customer Relationships [Member] | Minimum [Member]    
Useful Life (Year) 6 years  
Customer Relationships [Member] | Maximum [Member]    
Useful Life (Year) 9 years  
XML 39 R40.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Risk-free interest rate 1.59% 2.33%
Expected life (Year) 6 years 6 years
Expected volatility 42.63% 37.36%
Expected dividend yield 0.00% 0.00%
Performance Shares [Member]    
Risk-free interest rate 1.41%  
Expected life (Year) 2 years 10 months 17 days  
Expected volatility 38.70%  
Expected dividend yield 0.00%  
XML 40 R44.htm IDEA: XBRL DOCUMENT v3.20.1
Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Revenue $ 115,108 $ 113,452
Operating Segments [Member]    
Revenue 115,108 113,452
Operating Segments [Member] | United States Segment [Member]    
Revenue 90,076 87,811
Operating Segments [Member] | Europe Segment [Member]    
Revenue 20,787 21,254
Operating Segments [Member] | Japan Segment [Member]    
Revenue $ 4,245 $ 4,387
XML 41 R5.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($)
$ in Thousands
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balance (in shares) at Dec. 31, 2018 26,984,747        
Balance at Dec. 31, 2018 $ 27 $ 258,502 $ 291,460 $ (8,492) $ 541,497
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 19,950        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 (420) 0 0 (420)
Stock-based compensation expense $ 0 3,040 0 0 3,040
Repurchases of common stock (in shares) (157,716)        
Repurchases of common stock $ 0 (1,511) (15,798) 0 (17,309)
Net income 0 0 15,511 0 15,511
Other comprehensive income          
Foreign currency translation adjustment $ 0 0 0 476 476
Comprehensive income         15,987
Balance (in shares) at Dec. 31, 2018 26,984,747        
Balance at Dec. 31, 2018 $ 27 258,502 291,460 (8,492) 541,497
Other comprehensive income          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 19,950        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 (420) 0 0 (420)
Stock-based compensation expense $ 0 3,040 0 0 3,040
Repurchases of common stock (in shares) (157,716)        
Repurchases of common stock $ 0 (1,511) (15,798) 0 (17,309)
Net income $ 0 0 15,511 0 15,511
Balance (in shares) at Mar. 31, 2019 26,846,981        
Balance at Mar. 31, 2019 $ 27 259,611 291,173 (8,016) $ 542,795
Balance (in shares) at Dec. 31, 2019 26,786,459       26,786,459
Balance at Dec. 31, 2019 $ 27 268,059 324,722 (7,018) $ 585,790
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 23,525        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 (902) 0 0 (902)
Stock-based compensation expense $ 0 3,033 0 0 3,033
Repurchases of common stock (in shares) (161,460)        
Repurchases of common stock $ 0 (1,616) (9,569) 0 (11,185)
Net income 0 0 13,984 0 13,984
Other comprehensive income          
Foreign currency translation adjustment $ 0 0 0 (2,980) (2,980)
Comprehensive income         $ 11,004
Balance (in shares) at Dec. 31, 2019 26,786,459       26,786,459
Balance at Dec. 31, 2019 $ 27 268,059 324,722 (7,018) $ 585,790
Other comprehensive income          
Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares) 23,525        
Common shares issued on exercise of options and other, net of shares withheld for tax obligations $ 0 (902) 0 0 (902)
Stock-based compensation expense $ 0 3,033 0 0 3,033
Repurchases of common stock (in shares) (161,460)        
Repurchases of common stock $ 0 (1,616) (9,569) 0 (11,185)
Net income $ 0 0 13,984 0 $ 13,984
Balance (in shares) at Mar. 31, 2020 26,648,524       26,648,524
Balance at Mar. 31, 2020 $ 27 $ 268,574 $ 329,137 $ (9,998) $ 587,740
XML 42 R1.htm IDEA: XBRL DOCUMENT v3.20.1
Document And Entity Information - shares
3 Months Ended
Mar. 31, 2020
Apr. 30, 2020
Document Information [Line Items]    
Entity Central Index Key 0001443669  
Entity Registrant Name Proto Labs Inc  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Period Focus Q1  
Document Fiscal Year Focus 2020  
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2020  
Document Transition Report false  
Entity File Number 001-35435  
Entity Incorporation, State or Country Code MN  
Entity Tax Identification Number 41-1939628  
Entity Address, Address Line One 5540 Pioneer Creek Drive  
Entity Address, City or Town Maple Plain  
Entity Address, State or Province MN  
Entity Address, Postal Zip Code 55359  
City Area Code 763  
Local Phone Number 479-3680  
Title of 12(b) Security Common Stock, Par Value $0.001 Per Share  
Trading Symbol PRLB  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   26,612,751
XML 43 report.css IDEA: XBRL DOCUMENT /* 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; } XML 44 R9.htm IDEA: XBRL DOCUMENT v3.20.1
Note 3 - Net Income Per Common Share
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Earnings Per Share [Text Block]

Note 3 – Net Income per Common Share

 

Basic net income per share is computed based on the weighted-average number of common shares outstanding. Diluted net income per share is computed based on the weighted-average number of common shares outstanding, increased by the number of additional shares that would have been outstanding had potentially dilutive common shares been issued and reduced by the number of shares the Company could have repurchased from the proceeds from issuance of the potentially dilutive shares. Potentially dilutive shares of common stock include stock options, restricted stock units and restricted stock awards granted under stock-based compensation plans and shares committed to be purchased under the employee stock purchase plan. Performance stock units are excluded from the calculation of dilutive potential common shares until the performance conditions have been satisfied.

 

The table below sets forth the computation of basic and diluted net income per share:

 


 

   

Three Months Ended

 
   

March 31,

 

(in thousands, except share and per share amounts)

 

2020

   

2019

 

Net income

  $ 13,984     $ 15,511  
                 

Basic - weighted-average shares outstanding:

    26,776,806       26,963,366  

Effect of dilutive securities:

               

Employee stock options and other

    152,834       213,673  

Diluted - weighted-average shares outstanding:

    26,929,640       27,177,039  

Net income per share:

               

Basic

  $ 0.52     $ 0.58  

Diluted

  $ 0.52     $ 0.57  

 


 

XML 45 R17.htm IDEA: XBRL DOCUMENT v3.20.1
Note 11 - Segment Reporting
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

Note 11 – Segment Reporting

 

The Company’s reportable segments are based on the internal reporting used by the Company’s Chief Executive Officer, who is the chief operating decision maker (CODM), to assess operating performance and make decisions about the allocation of resources. The Corporate Unallocated and Japan category includes non-reportable segments, as well as research and development and general and administrative costs that the Company does not allocate directly to its operating segments.

 

Intercompany transactions primarily relate to intercontinental activity and have been eliminated and are excluded from the reported amounts. The difference between income from operations and pre-tax income relates to foreign currency-related gains and losses and interest income on cash balances and investments, which are not allocated to business segments. 

 

Revenue and income from operations by reportable segment for the three months ended March 31, 2020 and 2019 were as follows:

 


 

   

Three Months Ended March 31,

 

(in thousands)

 

2020

   

2019

 

Revenue:

               

United States

  $ 90,076     $ 87,811  

Europe

    20,787       21,254  

Japan

    4,245       4,387  

Total revenue

  $ 115,108     $ 113,452  

 


 

   

Three Months Ended March 31,

 

(in thousands)

 

2020

   

2019

 

Income from Operations:

               

United States

  $ 25,089     $ 26,310  

Europe

    4,364       4,221  

Corporate Unallocated and Japan

    (12,628 )     (11,083 )

Total Income from Operations

  $ 16,825     $ 19,448  

 


 

Total long-lived assets at  March 31, 2020 and December 31, 2019 were as follows:

 


 

   

March 31,

   

December 31,

 

(in thousands)

 

2020

   

2019

 

Total long-lived assets:

               
United States   $ 215,691     $ 210,171  
Europe     43,984       45,019  
Japan     8,326       8,522  

Total Assets

  $ 268,001     $ 263,712  

 


 

XML 46 R13.htm IDEA: XBRL DOCUMENT v3.20.1
Note 7 - Inventory
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Inventory Disclosure [Text Block]

Note 7 – Inventory

 

Inventory consists primarily of raw materials, which are recorded at the lower of cost or market using the average-cost method, which approximates first-in, first-out (FIFO) cost. The Company periodically reviews its inventory for slow-moving, damaged and discontinued items and provides allowances to reduce such items identified to their recoverable amounts.

 

The Company’s inventory consisted of the following as of the dates indicated:

 


 

   

March 31,

   

December 31,

 

(in thousands)

 

2020

   

2019

 
Raw materials   $ 10,237     $ 9,818  
Work in process     499       501  

Total inventory

    10,736       10,319  
Allowance for obsolescence     (229 )     (244 )

Inventory, net of allowance

  $ 10,507     $ 10,075  

 


 

XML 47 R38.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation - Restricted Stock Options (Details) - Restricted Stock [Member]
3 Months Ended
Mar. 31, 2020
$ / shares
shares
Restricted stock (in shares) | shares 314,973
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 89.55
Granted (in shares) | shares 28,105
Granted, weighted-average grant date fair value (in dollars per share) | $ / shares $ 96.72
Restrictions lapsed (in shares) | shares (25,598)
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) | $ / shares $ 79.27
Forfeited (in shares) | shares (7,616)
Forfeited, weighted-average grant date fair value (in dollars per share) | $ / shares $ 90.47
Restricted stock (in shares) | shares 309,864
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 91.03
XML 48 R30.htm IDEA: XBRL DOCUMENT v3.20.1
Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Remaining 2020 $ 2,262  
2021 3,016  
2022 3,016  
2023 2,813  
2024 1,400  
Thereafter 4,108  
Total estimated amortization expense $ 16,615 $ 17,369
XML 49 R34.htm IDEA: XBRL DOCUMENT v3.20.1
Note 7 - Inventory - Inventory (Details) - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Raw materials $ 10,237 $ 9,818
Work in process 499 501
Total inventory 10,736 10,319
Allowance for obsolescence (229) (244)
Inventory, net of allowance $ 10,507 $ 10,075
XML 50 R8.htm IDEA: XBRL DOCUMENT v3.20.1
Note 2 - Recent Accounting Pronouncements
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

Note 2 – Recent Accounting Pronouncements

 

Recently Adopted Accounting Pronouncements

 

During the first quarter of 2020, the Company adopted the Financial Accounting Standards Board (FASB) Accounting Standards Update (ASU) 2016-13, Financial Instruments – Credit Losses, which is intended to provide financial statement users with more decision-useful information about the expected credit losses on financial instruments held by a reporting entity at each reporting date. The adoption of this guidance had no material impact on our consolidated financial statements. 

 

During the fourth quarter of 2019, the Company early adopted the FASB ASU 2017-04, Intangibles – Goodwill and Other, which is intended to simplify the subsequent measurement of goodwill. The adoption of this guidance had no material impact on our consolidated financial statements.

 

 

XML 51 R4.htm IDEA: XBRL DOCUMENT v3.20.1
Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Statements of Operations:    
Revenue $ 115,108 $ 113,452
Cost of revenue 57,008 54,592
Gross profit 58,100 58,860
Operating expenses    
Marketing and sales 18,180 18,577
Research and development 8,987 8,013
General and administrative 14,108 12,822
Total operating expenses 41,275 39,412
Income from operations 16,825 19,448
Other income, net 1,054 213
Income before income taxes 17,879 19,661
Provision for income taxes 3,895 4,150
Net income $ 13,984 $ 15,511
Net income per share:    
Basic (in dollars per share) $ 0.52 $ 0.58
Diluted (in dollars per share) $ 0.52 $ 0.57
Shares used to compute net income per share:    
Basic (in shares) 26,776,806 26,963,366
Diluted (in shares) 26,929,640 27,177,039
Comprehensive Income (net of tax)    
Comprehensive income $ 11,004 $ 15,987
XML 52 R16.htm IDEA: XBRL DOCUMENT v3.20.1
Note 10 - Income Taxes
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

Note 10 – Income Taxes

 

The Company is subject to income tax in multiple jurisdictions and the use of estimates is required to determine the provision for income taxes. For the three months ended  March 31, 2020 and 2019, the Company recorded an income tax provision of $3.9 million and $4.2 million, respectively. The income tax provision is based on the estimated annual effective tax rate for the year applied to pre-tax income. The effective income tax rate for the three months ended  March 31, 2020 was 21.8 percent compared to 21.1 percent in the same period of the prior year. The effective tax rate increased by 0.7 percent for the three months ended  March 31, 2020 when compared to the same period in 2019 primarily due to a decrease in tax benefits from the vesting of restricted stock and the exercise of stock options and an increase in the state tax provision.

 

The effective income tax rate for the three months ended March 31, 2020 differs from the U.S. federal statutory rate of 21.0 percent due to various factors, including operating in multiple state and foreign jurisdictions and tax credits for which the Company qualifies.

 

The Company had unrecognized tax benefits totaling $4.6 million as of each of March 31, 2020 and December 31, 2019, respectively, all of which, if recognized, would affect the Company’s effective tax rate. The Company recognizes interest and penalties related to income tax matters in income tax expense, and reports the liability in current or long-term income taxes payable as appropriate.

 

XML 53 R12.htm IDEA: XBRL DOCUMENT v3.20.1
Note 6 - Marketable Securities
3 Months Ended
Mar. 31, 2020
Notes to Financial Statements  
Investment [Text Block]

Note 6 – Marketable Securities

 

The Company invests in short-term and long-term agency, municipal, corporate and other debt securities. The securities are categorized as held-to-maturity and are recorded at amortized cost, net of an allowance for credit losses. Categorization as held-to-maturity is based on the Company’s ability and intent to hold these securities to maturity. The following table summarizes information regarding the Company’s short-term and long-term marketable securities as of  March 31, 2020 and December 31, 2019:

 


 

   

March 31, 2020

 

(in thousands)

 

Cost

   

Unrealized Gains

   

Unrealized Losses

   

Fair Value

 
U.S. municipal securities   $ 12,704     $ 19       (14 )   $ 12,709  
Corporate debt securities     35,100       45       (239 )     34,906  
U.S. government agency securities     20,801       61       -       20,862  
Certificates of deposit/time deposits     3,697       31       (2 )     3,726  
Commercial paper     2,969       11       -       2,980  

Total marketable securities

  $ 75,271     $ 167     $ (255 )   $ 75,183  

 


 

 


 

   

December 31, 2019

 

(in thousands)

 

Cost

   

Unrealized Gains

   

Unrealized Losses

   

Fair Value

 

U.S. municipal securities

  $ 10,204     $ 9     $ (3 )   $ 10,210  

Corporate debt securities

    26,944       80       (12 )     27,012  

U.S. government agency securities

    6,274       1       (7 )     6,268  

Certificates of deposit/time deposits

    1,484       22       -       1,506  
Commercial paper     3,491       -       -       3,491  

Total marketable securities

  $ 48,397     $ 112     $ (22 )   $ 48,487  

 


 

Fair values for the corporate debt securities are primarily determined based on quoted market prices (Level 1). Fair values for the U.S. municipal securities, U.S. government agency securities, certificates of deposit and U.S. treasury securities are primarily determined using dealer quotes or quoted market prices for similar securities (Level 2).

 

During the first quarter of 2020, the Company adopted the FASB ASU 2016-13, Financial Instruments – Credit Losses. The Company calculated the expected credit loss for each security in its portfolio using the probability-of-default method. The Company concluded the adoption of the guidance had no material impact on its consolidated financial statements. 

 

Classification of marketable securities as current or non-current is based upon the security’s maturity date as of the date of these financial statements.

 

The  March 31, 2020 balance of held-to-maturity debt securities by contractual maturity is shown in the following table at amortized cost, net of an allowance for credit losses. Actual maturities may differ from contractual maturities because the issuers of the securities may have the right to prepay obligations without prepayment penalties.

 


 

   

March 31,

 

(in thousands)

 

2020

 

Due in one year or less

  $ 38,194  

Due after one year through five years

    37,077  

Total marketable securities

  $ 75,271  

 


XML 55 R31.htm IDEA: XBRL DOCUMENT v3.20.1
Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details) - Fair Value, Recurring [Member] - USD ($)
$ in Thousands
Mar. 31, 2020
Dec. 31, 2019
Fair Value, Inputs, Level 1 [Member]    
Money market mutual fund $ 31,291 $ 68,962
Total 31,291 68,962
Fair Value, Inputs, Level 2 [Member]    
Money market mutual fund 0 0
Total 0 0
Fair Value, Inputs, Level 3 [Member]    
Money market mutual fund 0 0
Total $ 0 $ 0
XML 56 R35.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation (Details Textual) - USD ($)
$ / shares in Units, $ in Millions
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Share-based Payment Arrangement, Expense   $ 3.0
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) $ 41.72  
ESPP [Member]    
Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date 15.00%  
Employee Stock Purchase Plan, Offering Period (Month) 6 months  
Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent 85.00%  
Share-based Payment Arrangement, Option [Member]    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 4.5  
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 2 years 10 months 24 days  
Share-based Payment Arrangement, Option [Member] | Minimum [Member]    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 4 years  
Share-based Payment Arrangement, Option [Member] | Maximum [Member]    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 5 years  
Restricted Stock [Member]    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 21.0  
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 2 years 7 months 6 days  
Restricted Stock [Member] | Minimum [Member]    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 4 years  
Restricted Stock [Member] | Maximum [Member]    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 5 years  
Performance Shares [Member]    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) 3 years  
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total $ 2.3  
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) 2 years 10 months 24 days  
Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit 0.00%  
Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit 150.00%  
XML 57 R39.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation - Performance Stock (Details) - Performance Shares [Member]
3 Months Ended
Mar. 31, 2020
$ / shares
shares
Performance stock (in shares) | shares 9,383
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 58.35
Granted (in shares) | shares 19,956
Granted, weighted-average grant date fair value (in dollars per share) | $ / shares $ 118.66
Restrictions lapsed (in shares) | shares (7,113)
Restrictions lapsed, weighted-average grant date fair value (in dollars per share) | $ / shares $ 58.35
Performance change (in shares) | shares 0
Performance change, weighted-average grant date fair value (in dollars per share) | $ / shares $ 0
Forfeited (in shares) | shares (2,270)
Forfeited, weighted-average grant date fair value (in dollars per share) | $ / shares $ 58.35
Performance stock (in shares) | shares 19,956
Restricted stock, weighted-average grant date fair value (in dollars per share) | $ / shares $ 118.66
XML 59 R28.htm IDEA: XBRL DOCUMENT v3.20.1
Note 4 - Goodwill and Other Intangible Assets (Details Textual) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Goodwill, Period Increase (Decrease), Total $ 0  
Amortization of Intangible Assets, Total $ 800 $ 900
XML 60 R24.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Share-based Payment Arrangement, Option, Activity [Table Text Block]
           

Weighted-

 
           

Average

 
   

Stock Options

   

Exercise Price

 

Options outstanding at December 31, 2019

    276,266     $ 72.38  
Granted     33,192       96.72  
Exercised     (2,001 )     67.53  
Forfeited     (848 )     110.38  
Options outstanding at March 31, 2020     306,609     $ 74.94  
                 
Exercisable at March 31, 2020     187,326     $ 62.48  
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
   

Three Months Ended March 31,

   

2020

 

2019

Risk-free interest rate

 

1.47%

 

2.58%

Expected life (years)

  6.25   6.25

Expected volatility

 

42.40%

 

42.74%

Expected dividend yield

 

0%

 

0%

Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]
           

Weighted-

 
           

Average

 
           

Grant Date

 
   

Restricted

   

Fair Value

 
   

Stock

   

Per Share

 

Restricted stock at December 31, 2019

    314,973     $ 89.55  
Granted     28,105       96.72  
Restrictions lapsed     (25,598 )     79.27  
Forfeited     (7,616 )     90.47  
Restricted stock at March 31, 2020     309,864     $ 91.03  
Schedule of Nonvested Performance-based Units Activity [Table Text Block]
           

Weighted-

 
           

Average

 
           

Grant Date

 
   

Performance

   

Fair Value

 
   

Stock

   

Per Share

 

Performance stock at December 31, 2019

    9,383     $ 58.35  

Granted

    19,956       118.66  

Restrictions lapsed

    (7,113 )     58.35  

Performance change

    -       -  

Forfeited

    (2,270 )     58.35  

Performance stock at March 31, 2020

    19,956     $ 118.66  
Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]
   

Three Months Ended March 31,

   

2020

 

Risk-free interest rate

  1.41%  

Expected life (years)

  2.88  

Expected volatility

  38.70%  

Expected dividend yield

  0%  
Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]
   

Three Months Ended March 31,

   

2020

 

2019

Risk-free interest rate

 

1.59%

 

2.33%

Expected life (months)

  6.00   6.00

Expected volatility

 

42.63%

 

37.36%

Expected dividend yield

 

0%

 

0%

XML 61 R20.htm IDEA: XBRL DOCUMENT v3.20.1
Note 4 - Goodwill and Other Intangible Assets (Tables)
3 Months Ended
Mar. 31, 2020
Notes Tables  
Schedule of Finite-Lived Intangible Assets [Table Text Block]
   

March 31, 2020

   

December 31, 2019

   

Useful

 

Weighted Average

(in thousands)

 

Gross

   

Accumulated Amortization

   

Net

   

Gross

   

Accumulated Amortization

   

Net

   

Life (in years)

 

Useful Life Remaining (in years)

Intangible assets with finite lives:

                                                       

Marketing assets

  $ 930     $ (550 )   $ 380     $ 930     $ (527 )   $ 403     10.0   4.0

Non-compete agreement

    270       (226 )     44       270       (222 )     48     2.0 - 5.0   2.8

Software technology

    13,229       (2,618 )     10,611       13,229       (2,275 )     10,954     10.0   7.8

Customer relationships

    10,070       (4,490 )     5,580       10,070       (4,106 )     5,964     6.0 - 9.0   3.6

Total intangible assets

  $ 24,499     $ (7,884 )   $ 16,615     $ 24,499     $ (7,130 )   $ 17,369          
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

(in thousands)

 

Estimated Amortization Expense

 
Remaining 2020   $ 2,262  
2021     3,016  
2022     3,016  
2023     2,813  
2024     1,400  
Thereafter     4,108  

Total estimated amortization expense

  $ 16,615  
JSON 62 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "prlb20200331_10q.htm": { "axisCustom": 0, "axisStandard": 10, "contextCount": 101, "dts": { "calculationLink": { "local": [ "prlb-20200331_cal.xml" ] }, "definitionLink": { "local": [ "prlb-20200331_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "prlb20200331_10q.htm" ] }, "labelLink": { "local": [ "prlb-20200331_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "prlb-20200331_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml" ] }, "schema": { "local": [ "prlb-20200331.xsd" ], "remote": [ "https://xbrl.sec.gov/sic/2020/sic-2020-01-31.xsd", "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/dtr/type/nonNumeric-2009-12-16.xsd", "https://xbrl.sec.gov/exch/2020/exch-2020-01-31.xsd", "http://xbrl.sec.gov/naics/2011/naics-2011-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd", "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd", "https://xbrl.sec.gov/currency/2020/currency-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd" ] } }, "elementCount": 315, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 24, "http://www.protolabs.com/20200331": 2, "http://xbrl.sec.gov/dei/2019-01-31": 6, "total": 32 }, "keyCustom": 8, "keyStandard": 268, "memberCustom": 5, "memberStandard": 24, "nsprefix": "prlb", "nsuri": "http://www.protolabs.com/20200331", "report": { "R1": { "firstAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "000 - Document - Document And Entity Information", "role": "http://www.protolabs.com/20200331/role/statement-document-and-entity-information", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "b", "p", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "009 - Disclosure - Note 4 - Goodwill and Other Intangible Assets", "role": "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets", "shortName": "Note 4 - Goodwill and Other Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "010 - Disclosure - Note 5 - Fair Value Measurements", "role": "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements", "shortName": "Note 5 - Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "011 - Disclosure - Note 6 - Marketable Securities", "role": "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities", "shortName": "Note 6 - Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "012 - Disclosure - Note 7 - Inventory", "role": "http://www.protolabs.com/20200331/role/statement-note-7-inventory", "shortName": "Note 7 - Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "013 - Disclosure - Note 8 - Stock-based Compensation", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "shortName": "Note 8 - Stock-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "014 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss", "role": "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss", "shortName": "Note 9 - Accumulated Other Comprehensive Loss", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfReclassificationAmountTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "015 - Disclosure - Note 10 - Income Taxes", "role": "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes", "shortName": "Note 10 - Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "016 - Disclosure - Note 11 - Segment Reporting", "role": "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting", "shortName": "Note 11 - Segment Reporting", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "017 - Disclosure - Significant Accounting Policies (Policies)", "role": "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies", "shortName": "Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "018 - Disclosure - Note 3 - Net Income Per Common Share (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables", "shortName": "Note 3 - Net Income Per Common Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "001 - Statement - Consolidated Balance Sheets (Current Period Unaudited)", "role": "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "shortName": "Consolidated Balance Sheets (Current Period Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "lang": null, "name": "us-gaap:MarketableSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "019 - Disclosure - Note 4 - Goodwill and Other Intangible Assets (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables", "shortName": "Note 4 - Goodwill and Other Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "020 - Disclosure - Note 5 - Fair Value Measurements (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables", "shortName": "Note 5 - Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:HeldToMaturitySecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "021 - Disclosure - Note 6 - Marketable Securities (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables", "shortName": "Note 6 - Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:HeldToMaturitySecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "022 - Disclosure - Note 7 - Inventory (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables", "shortName": "Note 7 - Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "023 - Disclosure - Note 8 - Stock-based Compensation (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables", "shortName": "Note 8 - Stock-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "024 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables", "shortName": "Note 9 - Accumulated Other Comprehensive Loss (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "025 - Disclosure - Note 11 - Segment Reporting (Tables)", "role": "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables", "shortName": "Note 11 - Segment Reporting (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "026 - Disclosure - Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "shortName": "Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "INF", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "027 - Disclosure - Note 4 - Goodwill and Other Intangible Assets (Details Textual)", "role": "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual", "shortName": "Note 4 - Goodwill and Other Intangible Assets (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:GoodwillPeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "028 - Disclosure - Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "shortName": "Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R3": { "firstAnchor": null, "groupType": "statement", "isDefault": "false", "longName": "002 - Statement - Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "role": "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "shortName": "Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R30": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "029 - Disclosure - Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "shortName": "Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "030 - Disclosure - Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "shortName": "Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel1Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:HeldToMaturitySecuritiesTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecurities", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "031 - Disclosure - Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details", "shortName": "Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:HeldToMaturitySecuritiesTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "lang": null, "name": "us-gaap:HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "032 - Disclosure - Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "shortName": "Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "us-gaap:InvestmentTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "033 - Disclosure - Note 7 - Inventory - Inventory (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details", "shortName": "Note 7 - Inventory - Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2019-01-01_2019-03-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "034 - Disclosure - Note 8 - Stock-based Compensation (Details Textual)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "shortName": "Note 8 - Stock-based Compensation (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2019-01-01_2019-03-31", "decimals": "-6", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "035 - Disclosure - Note 8 - Stock-based Compensation - Stock Option Activity (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details", "shortName": "Note 8 - Stock-based Compensation - Stock Option Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "036 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "shortName": "Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31_AwardTypeAxis-EmployeeStockOptionMember", "decimals": "4", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "037 - Disclosure - Note 8 - Stock-based Compensation - Restricted Stock Options (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details", "shortName": "Note 8 - Stock-based Compensation - Restricted Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31_AwardTypeAxis-RestrictedStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "038 - Disclosure - Note 8 - Stock-based Compensation - Performance Stock (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "shortName": "Note 8 - Stock-based Compensation - Performance Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "reportCount": 1, "unique": true, "unitRef": "Share", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "003 - Statement - Consolidated Statements of Comprehensive Income (Unaudited)", "role": "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "shortName": "Consolidated Statements of Comprehensive Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "039 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "shortName": "Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31_AwardTypeAxis-PerformanceSharesMember", "decimals": "4", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unitRef": "Pure", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "040 - Disclosure - Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "shortName": "Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31", "decimals": "-4", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "041 - Disclosure - Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details", "shortName": "Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComprehensiveIncomeLossTableTextBlock", "us-gaap:DisclosureOfReclassificationAmountTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2019-12-31_StatementEquityComponentsAxis-AccumulatedTranslationAdjustmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "042 - Disclosure - Note 10 - Income Taxes (Details Textual)", "role": "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual", "shortName": "Note 10 - Income Taxes (Details Textual)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Pure", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "043 - Disclosure - Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "shortName": "Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31_ConsolidationItemsAxis-OperatingSegmentsMember", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "044 - Disclosure - Note 11 - Segment Reporting - Income From Operations (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "shortName": "Note 11 - Segment Reporting - Income From Operations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "prlb:IncomeFromOperationsByGeographicAreaTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31_ConsolidationItemsAxis-OperatingSegmentsMember_StatementBusinessSegmentsAxis-UnitedStatesSegmentMember", "decimals": "-3", "lang": null, "name": "us-gaap:OperatingIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "045 - Disclosure - Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details)", "role": "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "shortName": "Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2020-03-31_ConsolidationItemsAxis-OperatingSegmentsMember", "decimals": "-3", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unitRef": "Share", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "004 - Statement - Consolidated Statements of Shareholders' Equity (Unaudited)", "role": "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "shortName": "Consolidated Statements of Shareholders' Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2019-01-01_2019-03-31_StatementEquityComponentsAxis-CommonStockMember", "decimals": "-3", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "005 - Statement - Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited", "shortName": "Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": "-3", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "006 - Disclosure - Note 1 - Basis of Presentation", "role": "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation", "shortName": "Note 1 - Basis of Presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "007 - Disclosure - Note 2 - Recent Accounting Pronouncements", "role": "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements", "shortName": "Note 2 - Recent Accounting Pronouncements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "008 - Disclosure - Note 3 - Net Income Per Common Share", "role": "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share", "shortName": "Note 3 - Net Income Per Common Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "prlb20200331_10q.htm", "contextRef": "d_2020-01-01_2020-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 29, "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "gYearItemType" }, "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r380" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r381" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r382" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-document-and-entity-information", "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables", "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables", "http://www.protolabs.com/20200331/role/statement-note-7-inventory", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables", "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r382" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r382" ], "lang": { "en-US": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r383" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r382" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r382" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r382" ], "lang": { "en-US": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r382" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-document-and-entity-information", "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables", "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables", "http://www.protolabs.com/20200331/role/statement-note-7-inventory", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables", "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r378" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r379" ], "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/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-document-and-entity-information" ], "xbrltype": "tradingSymbolItemType" }, "prlb_CorporateUnallocatedAndJapanSegmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Segment for corporate unallocated expenses and Japan.", "label": "Corporate Unallocated and Japan Segment[Member]" } } }, "localname": "CorporateUnallocatedAndJapanSegmentMember", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details" ], "xbrltype": "domainItemType" }, "prlb_ESPPMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "ESPP [member", "label": "ESPP [Member]" } } }, "localname": "ESPPMember", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the period in percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "prlb_EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "terseLabel": "Effective Income Tax Rate Continuing Operations Increase (Decrease) During the Period" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperationsIncreaseDecreaseDuringThePeriod", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "prlb_EmployeeStockPurchasePlanOfferingPeriod": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The offering period during which employees may purchase stock through the Employee Stock Purchase Plan.", "label": "prlb_EmployeeStockPurchasePlanOfferingPeriod", "terseLabel": "Employee Stock Purchase Plan, Offering Period (Month)" } } }, "localname": "EmployeeStockPurchasePlanOfferingPeriod", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "prlb_EuropeSegmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Operating segment for Europe", "label": "Europe Segment [Member]" } } }, "localname": "EuropeSegmentMember", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_IncomeFromOperationsByGeographicAreaTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of income from operations by geographic area.", "label": "Income from Operations by Geographic Area [Table Text Block]" } } }, "localname": "IncomeFromOperationsByGeographicAreaTableTextBlock", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "prlb_JapanSegmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Operating segment for Japan.", "label": "Japan Segment [Member]" } } }, "localname": "JapanSegmentMember", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The lower limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment.", "label": "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "terseLabel": "Percentage of Target Number Capable of Being Earned and Vesting, Lower Limit" } } }, "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingLowerLimit", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The upper limit percent of target number capable of being earned and vesting at the end of a three-year performance period depending on the company's performance in the final year of the performance period and the award recipient's continued employment.", "label": "prlb_PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "terseLabel": "Percentage of Target Number Capable of Being Earned and Vesting, Upper Limit" } } }, "localname": "PercentageOfTargetNumberCapableOfBeingEarnedAndVestingUpperLimit", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "prlb_ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the valuation assumptions of share-based payment awards other than stock options.", "label": "Schedule of Share-based Payment Award, Awards Other Than Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfSharebasedPaymentAwardAwardsOtherThanStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "prlb_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the amount of shares related to a performance change related to equity instruments other than option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Performance change (in shares)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChange", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details" ], "xbrltype": "sharesItemType" }, "prlb_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Represents the weighted average grant date fair value per share in connection to a performance change related to equity instruments other than options.", "label": "Performance change, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceChangeWeightedAverageGrantDateFairValue", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details" ], "xbrltype": "perShareItemType" }, "prlb_UnitedStatesSegmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Operating segment for United States.", "label": "United States Segment [Member]" } } }, "localname": "UnitedStatesSegmentMember", "nsuri": "http://www.protolabs.com/20200331", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "prlb_statement-statement-note-11-segment-reporting-income-from-operations-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 11 - Segment Reporting - Income From Operations (Details)" } } }, "localname": "statement-statement-note-11-segment-reporting-income-from-operations-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 11 - Segment Reporting - Long-lived Assets by Geographic Region (Details)" } } }, "localname": "statement-statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 11 - Segment Reporting - Revenue From Operations by Reportable Segment (Details)" } } }, "localname": "statement-statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-11-segment-reporting-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 11 - Segment Reporting" } } }, "localname": "statement-statement-note-11-segment-reporting-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 3 - Net Income Per Common Share - Computation of Basic and Diluted Net Income Per Share (Details)" } } }, "localname": "statement-statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-3-net-income-per-common-share-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 3 - Net Income Per Common Share" } } }, "localname": "statement-statement-note-3-net-income-per-common-share-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 4 - Goodwill and Other Intangible Assets - Estimated Aggregated Amortization Expense (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 4 - Goodwill and Other Intangible Assets - Intangible Assets Other Than Goodwill (Details)" } } }, "localname": "statement-statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-4-goodwill-and-other-intangible-assets-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 4 - Goodwill and Other Intangible Assets" } } }, "localname": "statement-statement-note-4-goodwill-and-other-intangible-assets-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 5 - Fair Value Measurements - Fair Value of Financial Assets Measured on a Recurring Basis (Details)" } } }, "localname": "statement-statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-5-fair-value-measurements-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 5 - Fair Value Measurements" } } }, "localname": "statement-statement-note-5-fair-value-measurements-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 6 - Marketable Securities - Balance of Held-to-maturity Debt Securities by Contractual Maturity (Details)" } } }, "localname": "statement-statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 6 - Marketable Securities - Short-term and Long-term Marketable Securities (Details)" } } }, "localname": "statement-statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-6-marketable-securities-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 6 - Marketable Securities" } } }, "localname": "statement-statement-note-6-marketable-securities-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-7-inventory-inventory-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 7 - Inventory - Inventory (Details)" } } }, "localname": "statement-statement-note-7-inventory-inventory-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-7-inventory-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 7 - Inventory" } } }, "localname": "statement-statement-note-7-inventory-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Options (Details)" } } }, "localname": "statement-statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation - Assumptions Used in the Valuation of Performance Stock (Details)" } } }, "localname": "statement-statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)" } } }, "localname": "statement-statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-performance-stock-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation - Performance Stock (Details)" } } }, "localname": "statement-statement-note-8-stockbased-compensation-performance-stock-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-restricted-stock-options-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation - Restricted Stock Options (Details)" } } }, "localname": "statement-statement-note-8-stockbased-compensation-restricted-stock-options-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-stock-option-activity-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation - Stock Option Activity (Details)" } } }, "localname": "statement-statement-note-8-stockbased-compensation-stock-option-activity-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-8-stockbased-compensation-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 8 - Stock-based Compensation" } } }, "localname": "statement-statement-note-8-stockbased-compensation-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 9 - Accumulated Other Comprehensive Loss - Other Comprehensive Loss (Details)" } } }, "localname": "statement-statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-note-9-accumulated-other-comprehensive-loss-tables": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Note 9 - Accumulated Other Comprehensive Loss" } } }, "localname": "statement-statement-note-9-accumulated-other-comprehensive-loss-tables", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "prlb_statement-statement-significant-accounting-policies-policies": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Significant Accounting Policies" } } }, "localname": "statement-statement-significant-accounting-policies-policies", "nsuri": "http://www.protolabs.com/20200331", "xbrltype": "stringItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r116", "r128", "r129", "r130", "r131", "r132", "r134", "r138" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r116", "r128", "r129", "r130", "r131", "r132", "r134", "r138" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables" ], "xbrltype": "domainItemType" }, "srt_MaximumMember": { "auth_ref": [ "r212", "r213", "r311", "r312", "r313", "r314", "r315", "r316", "r335", "r368", "r369" ], "lang": { "en-US": { "role": { "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r212", "r213", "r311", "r312", "r313", "r314", "r315", "r316", "r335", "r368", "r369" ], "lang": { "en-US": { "role": { "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r203", "r212", "r213", "r311", "r312", "r313", "r314", "r315", "r316", "r335", "r368", "r369" ], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r203", "r212", "r213", "r311", "r312", "r313", "r314", "r315", "r316", "r335", "r368", "r369" ], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "us-gaap_AccountsPayableCurrent", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r5", "r15", "r147", "r148" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts receivable, net of allowance for doubtful accounts of $1,821 and $952 as of March 31, 2020 and December 31, 2019, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "auth_ref": [ "r76" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments", "negatedLabel": "Amortization of held-to-maturity securities" } } }, "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesCurrent": { "auth_ref": [ "r12", "r342", "r356" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.", "label": "Income taxes payable" } } }, "localname": "AccruedIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.", "label": "Accrued liabilities and other" } } }, "localname": "AccruedLiabilitiesAndOtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r18", "r46", "r47", "r48", "r357", "r374", "r375" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r45", "r48", "r49", "r82", "r83", "r84", "r284", "r370", "r371" ], "lang": { "en-US": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r44", "r48", "r49", "r284", "r297", "r298", "r299", "r300", "r302" ], "lang": { "en-US": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r16" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r82", "r83", "r84", "r245", "r246", "r247" ], "lang": { "en-US": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r214", "r216", "r251", "r252" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r216", "r241", "r250" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "us-gaap_AllocatedShareBasedCompensationExpense", "terseLabel": "Share-based Payment Arrangement, Expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r22", "r149", "r171" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r75", "r186", "r191" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of Intangible Assets, Total" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r78", "r124", "r130", "r136", "r167", "r282", "r285", "r294", "r341", "r355" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r7", "r8", "r41", "r78", "r167", "r282", "r285", "r294" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Current assets" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r288" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_AssetsFairValueDisclosure", "totalLabel": "Total" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r217", "r243" ], "lang": { "en-US": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "stringItemType" }, "us-gaap_BankTimeDepositsMember": { "auth_ref": [ "r350" ], "lang": { "en-US": { "role": { "documentation": "Certificates of deposit (CD) or savings accounts with a fixed term or understanding the customer can only withdraw by giving advanced notice with a bank or other financial institution. A CD is a short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest.", "label": "Bank Time Deposits [Member]" } } }, "localname": "BankTimeDepositsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r28", "r77" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and cash equivalents", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Includes effect from exchange rate changes.", "label": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "totalLabel": "Net (decrease) increase in cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": { "auth_ref": [ "r204", "r292" ], "lang": { "en-US": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents.", "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]" } } }, "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r82", "r83" ], "lang": { "en-US": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r14" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r14" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r14" ], "lang": { "en-US": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r14", "r199" ], "lang": { "en-US": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common stock, shares outstanding (in shares)", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r14" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common stock, $0.001 par value, authorized 150,000,000 shares; issued and outstanding 26,648,524 and 26,786,459 shares as of March 31, 2020 and December 31, 2019, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r52", "r54", "r55", "r60", "r348", "r363" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Comprehensive Income (net of tax)" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r187", "r189", "r281" ], "lang": { "en-US": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateDebtSecuritiesMember": { "auth_ref": [ "r204", "r211", "r376" ], "lang": { "en-US": { "role": { "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.", "label": "Corporate Debt Securities [Member]" } } }, "localname": "CorporateDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r63", "r336" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r280" ], "lang": { "en-US": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r75", "r79", "r264", "r269", "r270", "r271" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r256", "r257" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Long-term deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r75", "r119" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r253" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfReclassificationAmountTextBlock": { "auth_ref": [ "r66" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for any adjustments made during the period to avoid double counting in comprehensive income items displayed as part of net income that also had been displayed as part of other comprehensive income in that period or earlier periods. These adjustments include reclassifications to net income of items in accumulated comprehensive income, such as deferred gains or losses on qualifying hedges when hedged item reported in net income, holding gains or losses on available-for-sale securities transferred into trading category, unrealized holding gains or losses on debt securities transferred from held-to-maturity category into available-for-sale category and accumulated translation adjustment attributable to foreign subsidiary or investment in foreign entity upon sale or liquidation.", "label": "Disclosure of Reclassification Amount [Text Block]" } } }, "localname": "DisclosureOfReclassificationAmountTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting", "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities", "http://www.protolabs.com/20200331/role/statement-note-7-inventory", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net income per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r61", "r87", "r88", "r89", "r90", "r91", "r95", "r97", "r102", "r103", "r104", "r108", "r109", "r349", "r364" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Basic (in dollars per share)", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r61", "r87", "r88", "r89", "r90", "r91", "r97", "r102", "r103", "r104", "r108", "r109", "r349", "r364" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Diluted (in dollars per share)", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r105", "r106", "r107", "r110" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": { "auth_ref": [ "r295" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.", "label": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r259" ], "lang": { "en-US": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent, Total" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r259", "r272" ], "lang": { "en-US": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r242" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r242" ], "lang": { "en-US": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r240" ], "lang": { "en-US": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-based Payment Arrangement, Option [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r82", "r83", "r84", "r86", "r92", "r94", "r111", "r170", "r199", "r200", "r245", "r246", "r247", "r265", "r266", "r296", "r297", "r298", "r299", "r300", "r302", "r370", "r371", "r372" ], "lang": { "en-US": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r288", "r289" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r289", "r308", "r309", "r310" ], "lang": { "en-US": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r288", "r289", "r290", "r291", "r293" ], "lang": { "en-US": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r292" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r204", "r205", "r210", "r211", "r289", "r308" ], "lang": { "en-US": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r204", "r205", "r210", "r211", "r289", "r309" ], "lang": { "en-US": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r289", "r310" ], "lang": { "en-US": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r204", "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r308", "r309", "r310" ], "lang": { "en-US": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r292", "r293" ], "lang": { "en-US": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r159", "r163", "r172", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334" ], "lang": { "en-US": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Useful Life (Year)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r190" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 0.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r192" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "Remaining 2020" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r192" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r192" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r192" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r192" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2021" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r187", "r188", "r190", "r193", "r337", "r338" ], "lang": { "en-US": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r190", "r338" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r187", "r189" ], "lang": { "en-US": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r190", "r337" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Net", "totalLabel": "Total estimated amortization expense" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "auth_ref": [ "r337" ], "lang": { "en-US": { "role": { "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Weighted average useful life remaining (Year)" } } }, "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "durationItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r64" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r183", "r184", "r340" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r194" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for goodwill and intangible assets.", "label": "Goodwill and Intangible Assets Disclosure [Text Block]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "auth_ref": [ "r185" ], "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "us-gaap_GoodwillPeriodIncreaseDecrease", "terseLabel": "Goodwill, Period Increase (Decrease), Total" } } }, "localname": "GoodwillPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r62", "r78", "r124", "r129", "r132", "r135", "r138", "r167", "r294" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "us-gaap_GrossProfit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecurities": { "auth_ref": [ "r151", "r153", "r344" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at amortized cost (held-to-maturity).", "label": "Amortized Cost", "totalLabel": "Total marketable securities" } } }, "localname": "HeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain": { "auth_ref": [ "r155", "r161" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrecognized gain on investment in debt security measured at amortized cost (held-to-maturity).", "label": "Unrealized Gains" } } }, "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss": { "auth_ref": [ "r156", "r162" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at amortized cost (held-to-maturity).", "label": "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss", "negatedLabel": "Unrealized Losses" } } }, "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount": { "auth_ref": [ "r158", "r354" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": 0.0, "parentTag": "us-gaap_HeldToMaturitySecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at amortized cost (held-to-maturity), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Due after one year through five years" } } }, "localname": "HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount": { "auth_ref": [ "r157", "r353" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details": { "order": 1.0, "parentTag": "us-gaap_HeldToMaturitySecurities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in debt security measured at amortized cost (held-to-maturity), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Due in one year or less" } } }, "localname": "HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesFairValue": { "auth_ref": [ "r154", "r160", "r344" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Fair value of investment in debt security measured at amortized cost (held-to-maturity).", "label": "Fair Value" } } }, "localname": "HeldToMaturitySecuritiesFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_HeldToMaturitySecuritiesTextBlock": { "auth_ref": [ "r159", "r163", "r164" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of information about investment in debt security measured at amortized cost (held-to-maturity).", "label": "Debt Securities, Held-to-maturity [Table Text Block]" } } }, "localname": "HeldToMaturitySecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r57", "r124", "r129", "r132", "r135", "r138", "r339", "r345", "r351", "r365" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r260", "r262", "r263", "r267", "r273", "r275", "r276", "r277" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r79", "r93", "r94", "r122", "r258", "r268", "r274", "r366" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Provision for income taxes", "terseLabel": "Income Tax Expense (Benefit), Total" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "Income taxes" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "us-gaap_IncreaseDecreaseInInventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating liabilities classified as other.", "label": "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities", "terseLabel": "Accrued liabilities and other" } } }, "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses and other" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r98", "r99", "r100", "r104" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": 0.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Employee stock options and other (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r182" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-7-inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r40" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "us-gaap_InventoryGross", "totalLabel": "Total inventory" } } }, "localname": "InventoryGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r4", "r40" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory", "totalLabel": "Inventory, net of allowance" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r39" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details": { "order": 1.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Raw materials" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r40", "r80", "r181" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details": { "order": 0.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "us-gaap_InventoryValuationReserves", "negatedLabel": "Allowance for obsolescence" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r38" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details": { "order": 0.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Work in process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentTextBlock": { "auth_ref": [ "r165", "r166", "r168", "r169" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for investment.", "label": "Investment [Text Block]" } } }, "localname": "InvestmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]" } } }, "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r32", "r78", "r131", "r167", "r283", "r285", "r286", "r294" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 0.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r21", "r78", "r167", "r294", "r343", "r359" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and shareholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r35", "r78", "r167", "r283", "r285", "r286", "r294" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Current liabilities" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r143" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-lived Assets by Geographic Areas [Table Text Block]" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [ "r6", "r33" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Short-term marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesNoncurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investment in marketable security, classified as noncurrent.", "label": "Long-term marketable securities" } } }, "localname": "MarketableSecuritiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketingRelatedIntangibleAssetsMember": { "auth_ref": [ "r278" ], "lang": { "en-US": { "role": { "documentation": "Marketing-related asset, including, but not limited to, internet domain name, newspaper mast head, and trademark.", "label": "Marketing-Related Intangible Assets [Member]" } } }, "localname": "MarketingRelatedIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details": { "order": 0.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.", "label": "Money market mutual fund" } } }, "localname": "MoneyMarketFundsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r72" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r72" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash (used in) provided by investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r72", "r73", "r76" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r50", "r53", "r58", "r76", "r78", "r85", "r87", "r88", "r89", "r90", "r93", "r94", "r101", "r124", "r129", "r132", "r135", "r138", "r167", "r294", "r346", "r361" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r279" ], "lang": { "en-US": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "us-gaap_OperatingExpenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating expenses" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r124", "r129", "r132", "r135", "r138" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "us-gaap_OperatingIncomeLoss", "terseLabel": "Income from operations", "totalLabel": "Income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r304" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r304" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Long-term operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r303" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r128", "r129", "r130", "r131", "r132", "r138" ], "lang": { "en-US": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r2", "r287" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r30" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other long-term assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": { "auth_ref": [ "r48", "r56", "r296", "r298", "r302" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss).", "label": "Other comprehensive income (loss) before reclassifications" } } }, "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r43" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "terseLabel": "Foreign currency translation adjustment" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r51", "r54", "r56", "r59", "r199", "r296", "r301", "r302", "r347", "r362" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "totalLabel": "Net current-period other comprehensive income (loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Other comprehensive income" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherIntangibleAssetsNet": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other.", "label": "Other intangible assets, net" } } }, "localname": "OtherIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r76" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "us-gaap_OtherNoncashIncomeExpense", "negatedLabel": "Other" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r65" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r71" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "us-gaap_PaymentsForRepurchaseOfCommonStock", "negatedLabel": "Repurchases of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r71" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Purchases of shares withheld for tax obligations" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": { "auth_ref": [ "r67", "r152" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities.", "label": "us-gaap_PaymentsToAcquireHeldToMaturitySecurities", "negatedLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireHeldToMaturitySecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireOtherInvestments": { "auth_ref": [ "r69" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to acquire investments classified as other.", "label": "us-gaap_PaymentsToAcquireOtherInvestments", "negatedLabel": "Purchases of other assets and investments" } } }, "localname": "PaymentsToAcquireOtherInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r68" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedLabel": "Purchases of property, equipment and other capital assets" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details" ], "xbrltype": "domainItemType" }, "us-gaap_PolicyTextBlockAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "us-gaap_PolicyTextBlockAbstract", "terseLabel": "Accounting Policies" } } }, "localname": "PolicyTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r13" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r13" ], "lang": { "en-US": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r13" ], "lang": { "en-US": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r13" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock, $0.001 par value, authorized 10,000,000 shares; issued and outstanding 0 shares as of each of March 31, 2020 and December 31, 2019" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r7", "r26", "r27" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r70", "r244" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period.", "label": "Proceeds from maturities of marketable securities" } } }, "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r10", "r11", "r195", "r360" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property and equipment, net", "terseLabel": "Long-lived assets" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": { "auth_ref": [ "r48", "r49", "r56", "r296", "r300", "r302" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details": { "order": 0.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss).", "label": "Amounts reclassified from accumulated other comprehensive loss" } } }, "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r254", "r377" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r105" ], "lang": { "en-US": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r17", "r200", "r248", "r358", "r373", "r375" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r82", "r83", "r84", "r86", "r92", "r94", "r170", "r245", "r246", "r247", "r265", "r266", "r370", "r372" ], "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r115", "r116", "r128", "r133", "r134", "r140", "r141", "r145", "r201", "r202", "r336" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.", "label": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r142" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statements of Operations:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r42" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of components of comprehensive income (loss). Includes, but is not limited to, foreign currency translation adjustments, foreign currency transactions designated as economic hedges of a net investment in foreign entity, gain (loss) and prior service cost (credit) for pension plans and other postretirement benefit plans.", "label": "Comprehensive Income (Loss) [Table Text Block]" } } }, "localname": "ScheduleOfComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r104" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r187", "r189" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r9", "r23", "r24", "r25" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": { "auth_ref": [ "r226" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units.", "label": "Schedule of Nonvested Performance-based Units Activity [Table Text Block]" } } }, "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r220", "r232", "r234" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": { "auth_ref": [ "r235" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r235" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r189" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r112", "r115", "r116", "r117", "r118", "r119", "r120", "r121", "r122", "r123", "r124", "r125", "r126", "r128", "r129", "r130", "r131", "r132", "r133", "r134", "r135", "r136", "r138", "r145", "r367" ], "lang": { "en-US": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r112", "r113", "r114", "r124", "r127", "r132", "r136", "r137", "r138", "r139", "r140", "r144", "r145", "r146" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited": { "order": 0.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Marketing and sales" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r74" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited": { "order": 0.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensation", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r218" ], "lang": { "en-US": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate": { "auth_ref": [ "r243" ], "lang": { "en-US": { "role": { "documentation": "Discount rate from fair value on offering date that participants pay for shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Offering Date" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceOfferingDate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r225" ], "lang": { "en-US": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedTerseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r230" ], "lang": { "en-US": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "terseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Forfeited, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r228" ], "lang": { "en-US": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r228" ], "lang": { "en-US": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Granted, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Granted, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Restricted stock (in shares)", "periodStartLabel": "Restricted stock (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r227" ], "lang": { "en-US": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Restricted stock, weighted-average grant date fair value (in dollars per share)", "periodStartLabel": "Restricted stock, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r229" ], "lang": { "en-US": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedTerseLabel": "Restrictions lapsed (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r229" ], "lang": { "en-US": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)", "verboseLabel": "Restrictions lapsed, weighted-average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r238" ], "lang": { "en-US": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r237" ], "lang": { "en-US": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r239" ], "lang": { "en-US": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r223" ], "lang": { "en-US": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Options exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r223" ], "lang": { "en-US": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Options exercisable, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r225" ], "lang": { "en-US": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "negatedLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r233" ], "lang": { "en-US": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r222", "r243" ], "lang": { "en-US": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "periodEndLabel": "Options outstanding (in shares)", "periodStartLabel": "Options outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r221" ], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "periodEndLabel": "Options outstanding, weighted-average exercise price (in dollars per share)", "periodStartLabel": "Options outstanding, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r215", "r219" ], "lang": { "en-US": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Exercised, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Forfeited, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "terseLabel": "Granted, weighted-average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": { "auth_ref": [ "r231" ], "lang": { "en-US": { "role": { "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.", "label": "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "periodEndLabel": "Performance stock (in shares)", "periodStartLabel": "Performance stock (in shares)" } } }, "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details" ], "xbrltype": "sharesItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r236", "r249" ], "lang": { "en-US": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Expected life (Year)", "verboseLabel": "Expected life (months) (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual" ], "xbrltype": "percentItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r81" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r112", "r115", "r116", "r117", "r118", "r119", "r120", "r121", "r122", "r123", "r124", "r125", "r126", "r128", "r129", "r130", "r131", "r132", "r133", "r134", "r135", "r136", "r138", "r145", "r185", "r196", "r197", "r198", "r367" ], "lang": { "en-US": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r37", "r82", "r83", "r84", "r86", "r92", "r94", "r111", "r170", "r199", "r200", "r245", "r246", "r247", "r265", "r266", "r296", "r297", "r298", "r299", "r300", "r302", "r370", "r371", "r372" ], "lang": { "en-US": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables", "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables", "http://www.protolabs.com/20200331/role/statement-note-7-inventory", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables", "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r82", "r83", "r84", "r111", "r336" ], "lang": { "en-US": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited-parentheticals", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-cash-flows-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20200331/role/statement-note-1-basis-of-presentation", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes", "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-income-from-operations-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-longlived-assets-by-geographic-region-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-revenue-from-operations-by-reportable-segment-details", "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables", "http://www.protolabs.com/20200331/role/statement-note-2-recent-accounting-pronouncements", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-details-textual", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-estimated-aggregated-amortization-expense-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-intangible-assets-other-than-goodwill-details", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-fair-value-of-financial-assets-measured-on-a-recurring-basis-details", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-balance-of-heldtomaturity-debt-securities-by-contractual-maturity-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables", "http://www.protolabs.com/20200331/role/statement-note-7-inventory", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-inventory-details", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-in-the-valuation-of-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-assumptions-used-to-estimate-the-fair-value-of-the-espp-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-details-textual", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-performance-stock-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-restricted-stock-options-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables", "http://www.protolabs.com/20200331/role/statement-significant-accounting-policies-policies" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r13", "r14", "r199", "r200" ], "lang": { "en-US": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r13", "r14", "r199", "r200", "r224" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised", "negatedLabel": "Exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-stock-option-activity-details" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r37", "r199", "r200" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Common shares issued on exercise of options and other, net of shares withheld for tax obligations" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r13", "r14", "r199", "r200" ], "lang": { "en-US": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares", "negatedLabel": "Repurchases of common stock (in shares)" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r13", "r14", "r199", "r200" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue", "negatedLabel": "Repurchases of common stock" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r14", "r19", "r20", "r78", "r150", "r167", "r294" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "us-gaap_StockholdersEquity", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total shareholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited", "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-shareholders-equity-unaudited", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-other-comprehensive-loss-details" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Shareholders' equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-balance-sheets-current-period-unaudited" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-11-segment-reporting-tables", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-tables", "http://www.protolabs.com/20200331/role/statement-note-4-goodwill-and-other-intangible-assets-tables", "http://www.protolabs.com/20200331/role/statement-note-5-fair-value-measurements-tables", "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-tables", "http://www.protolabs.com/20200331/role/statement-note-7-inventory-tables", "http://www.protolabs.com/20200331/role/statement-note-8-stockbased-compensation-tables", "http://www.protolabs.com/20200331/role/statement-note-9-accumulated-other-comprehensive-loss-tables" ], "xbrltype": "stringItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r159", "r163", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334" ], "lang": { "en-US": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r204", "r352" ], "lang": { "en-US": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "US Government Agencies Debt Securities [Member]" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_USStatesAndPoliticalSubdivisionsMember": { "auth_ref": [ "r204", "r376" ], "lang": { "en-US": { "role": { "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments.", "label": "US States and Political Subdivisions Debt Securities [Member]" } } }, "localname": "USStatesAndPoliticalSubdivisionsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-6-marketable-securities-shortterm-and-longterm-marketable-securities-details" ], "xbrltype": "domainItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r255", "r261" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "us-gaap_UnrecognizedTaxBenefits", "terseLabel": "Unrecognized Tax Benefits, Ending Balance" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-note-10-income-taxes-details-textual" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r96", "r104" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-US": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Diluted (in shares)", "totalLabel": "Diluted - weighted-average shares outstanding: (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r95", "r104" ], "calculation": { "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Basic (in shares)", "terseLabel": "Basic - weighted-average shares outstanding: (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited", "http://www.protolabs.com/20200331/role/statement-note-3-net-income-per-common-share-computation-of-basic-and-diluted-net-income-per-share-details" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Shares used to compute net income per share:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.protolabs.com/20200331/role/statement-consolidated-statements-of-comprehensive-income-unaudited" ], "xbrltype": "stringItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1500-109256" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r146": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26610-111562" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26853-111562" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "5B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269825-111563" }, "r165": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "http://asc.fasb.org/topic&trid=2196928" }, "r166": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "321", "URI": "http://asc.fasb.org/topic&trid=75115024" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r168": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "323", "URI": "http://asc.fasb.org/topic&trid=2196965" }, "r169": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "325", "URI": "http://asc.fasb.org/topic&trid=2197064" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r182": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r194": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "350", "URI": "http://asc.fasb.org/topic&trid=2144416" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r2": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r253": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31917-109318" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e31931-109318" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r277": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5227-128473" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5263-128473" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5333-128473" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=121598580&loc=d3e5504-128473" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r287": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.2)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Subparagraph": "b.", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=121551529&loc=d3e60009-112784" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62586-112803" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62586-112803" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121641442&loc=d3e19393-158473" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r378": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r379": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r381": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r382": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r383": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e526-108580" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121640130&loc=d3e1436-108581" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "http://asc.fasb.org/topic&trid=2134417" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r81": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1707-109256" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1757-109256" } }, "version": "2.1" } XML 63 R41.htm IDEA: XBRL DOCUMENT v3.20.1
Note 8 - Stock-based Compensation - Assumptions Used to Estimate the Fair Value of the ESPP (Details)
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Risk-free interest rate 1.59% 2.33%
Expected life (months) (Year) 6 years 6 years
Expected volatility 42.63% 37.36%
Expected dividend yield 0.00% 0.00%
XML 64 R45.htm IDEA: XBRL DOCUMENT v3.20.1
Note 11 - Segment Reporting - Income From Operations (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2020
Mar. 31, 2019
Income from operations $ 16,825 $ 19,448
Operating Segments [Member] | United States Segment [Member]    
Income from operations 25,089 26,310
Operating Segments [Member] | Europe Segment [Member]    
Income from operations 4,364 4,221
Operating Segments [Member] | Corporate Unallocated and Japan Segment[Member]    
Income from operations $ (12,628) $ (11,083)