0000351998-20-000014.txt : 20200813 0000351998-20-000014.hdr.sgml : 20200813 20200812182439 ACCESSION NUMBER: 0000351998-20-000014 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 54 CONFORMED PERIOD OF REPORT: 20200630 FILED AS OF DATE: 20200813 DATE AS OF CHANGE: 20200812 FILER: COMPANY DATA: COMPANY CONFORMED NAME: DATA I/O CORP CENTRAL INDEX KEY: 0000351998 STANDARD INDUSTRIAL CLASSIFICATION: INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS [3825] IRS NUMBER: 910864123 STATE OF INCORPORATION: WA FISCAL YEAR END: 1211 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-10394 FILM NUMBER: 201096497 BUSINESS ADDRESS: STREET 1: 6645 185TH AVE NE, SUITE 100 CITY: REDMOND STATE: WA ZIP: 98052 BUSINESS PHONE: 4258676922 MAIL ADDRESS: STREET 1: 6645 185TH AVE NE, SUITE 100 CITY: REDMOND STATE: WA ZIP: 98052 10-Q 1 f10q_063020.htm f10q_063020.htm - Generated by SEC Publisher for SEC Filing  

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C.  20549

 

FORM 10-Q

 

(Mark One)

 

(X)

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

For the quarterly period ended June 30, 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:    0-10394

DATA I/O CORPORATION

(Exact name of registrant as specified in its charter)

 

Washington

91-0864123

(State or other jurisdiction of incorporation or organization)

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

 

6645 185th Ave NE, Suite 100, Redmond, Washington, 98052

425-881-6444

(Address of principal executive offices, including zip code)

 

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

DAIO  

NASDAQ

 

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 x 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 (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes x No ¨

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

     Accelerated filer ¨

Large accelerated filer  ¨                                                                      Smaller reporting company x

Non-accelerated filer    ¨                                                                       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 x

APPLICABLE ONLY TO ISSUERS INVOLVED IN BANKRUPTY PROCEEDINGS DURING THE PREVIOUS FIVE YEARS:

Indicate by check mark whether the registrant has filed all documents and reports required to be filed by Section 12,13or 15(d) of the Security Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court.   Yes ¨  No ¨

 

Shares of Common Stock, no par value, outstanding as of July 30, 2020:  8,390,943

1

 


 
 

DATA I/O CORPORATION

 

FORM 10-Q

For the Quarter Ended June 30, 2020

 

INDEX

Part I.

 

Financial Information

Page

 

 

 

 

 

 

Item 1.

Financial Statements

  3

 

 

 

 

 

Item 2.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

15

 

 

 

 

 

 

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

23

 

 

 

 

 

Item 4.

Controls and Procedures

23

 

 

 

 

Part II

 

Other Information

 

 

 

 

 

 

Item 1.

Legal Proceedings

24

 

 

 

 

 

Item 1A.

Risk Factors

24

 

 

 

 

 

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

24

 

 

 

 

 

Item 3.

Defaults Upon Senior Securities

24

 

 

 

 

 

Item 4.

Mine Safety Disclosures

24

 

 

 

 

 

Item 5.

Other Information

24

 

 

 

 

 

Item 6.

Exhibits

24

 

 

 

 

Signatures

 

25

           

 

 

2

 


 
 

PART I - FINANCIAL INFORMATION

Item 1.                 Financial Statements

DATA I/O CORPORATION

CONSOLIDATED BALANCE SHEETS

(in thousands, except share data)

(UNAUDITED)

       
 

June 30,
2020

 

December 31,
2019

     

 

ASSETS

   

 

CURRENT ASSETS:

   

 

Cash and cash equivalents

$13,273

 

$13,936

Trade accounts receivable, net of allowance for

     

         doubtful accounts of $73 and $80, respectively

2,840

 

4,099

Inventories

4,731

 

5,020

Other current assets

2,000

 

924

TOTAL CURRENT ASSETS

22,844

 

23,979

       

Property, plant and equipment – net

1,602

 

1,668

Income tax receivable

-

 

640

Other assets

1,717

 

1,994

TOTAL ASSETS

$26,163

 

$28,281

       

LIABILITIES AND STOCKHOLDERS’ EQUITY

     

CURRENT LIABILITIES:

     

Accounts payable

$908

 

$1,151

Accrued compensation

1,304

 

1,541

Deferred revenue

1,334

 

1,387

Other accrued liabilities

1,259

 

1,372

Income taxes payable

64

 

31

TOTAL CURRENT LIABILITIES

4,869

 

5,482

       

Operating lease liabilities

834

 

1,178

Long-term other payables

150

 

91

       

COMMITMENTS

-

 

-

       

STOCKHOLDERS’ EQUITY

     

Preferred stock -

     

Authorized, 5,000,000 shares, including

     

200,000 shares of Series A Junior Participating

     

Issued and outstanding, none

-

 

-

Common stock, at stated value -

     

Authorized, 30,000,000 shares

     

Issued and outstanding, 8,390,943 shares as of June 30,

     

2020 and 8,212,748 shares as of December 31, 2019

19,319

 

18,748

Accumulated earnings

897

 

2,508

Accumulated other comprehensive income (loss)

94

 

274

TOTAL STOCKHOLDERS’ EQUITY

20,310

 

21,530

TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY

$26,163

 

$28,281

       

See notes to consolidated financial statements

 

 

 

3

 


 

DATA I/O CORPORATION

CONSOLIDATED STATEMENTS OF OPERATIONS

(in thousands, except per share amounts)

(UNAUDITED)

                 
   

Three Months Ended
June 30,

 

Six Months Ended
June 30,

   

2020

 

2019

 

2020

 

2019

                 

Net sales

 

$4,655

 

$5,834

 

$9,440

 

$11,892

Cost of goods sold

 

2,216

 

2,250

 

4,217

 

4,623

Gross margin

 

2,439

 

3,584

 

5,223

 

7,269

Operating expenses:

               

Research and development

 

1,614

 

1,680

 

3,196

 

3,361

Selling, general and administrative

 

1,703

 

1,829

 

3,514

 

3,803

Total operating expenses

 

3,317

 

3,509

 

6,710

 

7,164

Operating income (loss)

 

(878)

 

75

 

(1,487)

 

105

Non-operating income (loss):

               

Interest income

 

1

 

10

 

9

 

22

Gain on sale of assets

 

-

 

-

 

-

 

60

Foreign currency transaction gain (loss)

 

(83)

 

69

 

(31)

 

(36)

Total non-operating income (loss)

 

(82)

 

79

 

(22)

 

46

Income (loss) before income taxes

 

(960)

 

154

 

(1,509)

 

151

Income tax (expense) benefit

 

(97)

 

(27)

 

(102)

 

2

Net income (loss)

 

($1,057)

 

$127

 

($1,611)

 

$153

                 
                 

Basic earnings (loss) per share

 

($0.13)

 

$0.02

 

($0.19)

 

$0.02

Diluted earnings (loss) per share

 

($0.13)

 

$0.02

 

($0.19)

 

$0.02

Weighted-average basic shares

 

8,302

 

8,257

 

8,261

 

8,280

Weighted-average diluted shares

 

8,302

 

8,332

 

8,261

 

8,375

                 

See notes to consolidated financial statements

           

 

 

 

 

 

 

 

 

4

 


 

DATA I/O CORPORATION

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)

(in thousands)

(UNAUDITED)

         
   

Three Months Ended
June 30,

 

Six Months Ended
June 30,

   

2020

 

2019

 

2020

 

2019

                 

Net income (loss)

 

($1,057)

 

$127

 

($1,611)

 

$153

Other comprehensive income (loss):

               

Foreign currency translation gain (loss)

 

85

 

(118)

 

(180)

 

10

Comprehensive income (loss)

 

($972)

 

$9

 

($1,791)

 

$163

                 

See notes to consolidated financial statements

           

 

 

 

 

 

5

 


 

 

DATA I/O CORPORATION

CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY

(in thousands, except share amounts)

(UNAUDITED)

                     
               

Accumulated

   
   

Common Stock

 

Retained

 

and Other

 

Total

           

Earnings

 

Comprehensive

 

Stockholders'

   

Shares

 

Amount

 

(Deficit)

 

Income (Loss)

 

Equity

Balance at December 31, 2018

 

8,338,628

 

$19,254

 

$3,695

 

$408

 

$23,357

Repurchased shares

 

(57,612)

 

(312)

         

(312)

Stock awards issued, net of tax withheld

 

4,046

 

(9)

 

-

 

-

 

(9)

Issuance of stock through: ESPP

 

2,763

 

15

 

-

 

-

 

15

Share-based compensation

 

-

 

287

 

-

 

-

 

287

Net income (loss)

 

-

 

-

 

26

 

-

 

26

Other comprehensive income (loss)

 

-

 

-

 

-

 

128

 

128

Balance at March 31, 2019

 

8,287,825

 

$19,235

 

$3,721

 

$536

 

$23,492

Stock options exercised

 

-

 

-

         

-

Repurchased shares

 

(188,194)

 

(908)

         

(908)

Stock awards issued, net of tax withheld

 

162,071

 

(228)

 

-

 

-

 

(228)

Issuance of stock through:
    Employee Stock Purchase Plan

 

-

 

-

 

-

 

-

 

-

Share-based compensation

 

-

 

364

 

-

 

-

 

364

Net income (loss)

 

-

 

-

 

127

 

-

 

127

Other comprehensive income (loss)

 

-

 

-

 

-

 

(118)

 

(118)

Balance at June 30, 2019

 

8,261,702

 

$18,463

 

$3,848

 

$418

 

$22,729

                     

Balance at December 31, 2019

 

8,212,748

 

$18,748

 

$2,508

 

$274

 

$21,530

Repurchased shares

 

-

 

-

         

-

Stock awards issued, net of tax withheld

 

5,190

 

(10)

 

-

 

-

 

(10)

Issuance of stock through: ESPP

 

3,509

 

14

 

-

 

-

 

14

Share-based compensation

 

-

 

249

 

-

 

-

 

249

Net income (loss)

 

-

 

-

 

(554)

 

-

 

(554)

Other comprehensive income (loss)

 

-

 

-

 

-

 

(265)

 

(265)

Balance at March 31, 2020

 

8,221,447

 

$19,001

 

$1,954

 

$9

 

$20,964

Repurchased shares

 

-

 

-

         

-

Stock awards issued, net of tax withheld

 

169,496

 

(163)

 

-

 

-

 

(163)

Issuance of stock through: ESPP

 

-

 

-

 

-

 

-

 

-

Share-based compensation

 

-

 

481

 

-

 

-

 

481

Net income (loss)

 

-

 

-

 

(1,057)

 

-

 

(1,057)

Other comprehensive income (loss)

 

-

 

-

 

-

 

85

 

85

Balance at June 30, 2020

 

8,390,943

 

$19,319

 

$897

 

$94

 

$20,310

                     

See notes to consolidated financial statements

                   

 

6

 


 
 

 

DATA I/O CORPORATION 

CONSOLIDATED STATEMENTS OF CASH FLOWS

(in thousands)

(UNAUDITED)

         
   

For the Six Months Ended
June 30,

   

2020

 

2019

         

CASH FLOWS FROM OPERATING ACTIVITIES:

       

Net income (loss)

 

($1,611)

 

$153

Adjustments to reconcile net income (loss)

       

to net cash provided by (used in) operating activities:

       

Depreciation and amortization

 

446

 

424

Gain on sale of assets

 

-

 

(60)

Equipment transferred to cost of goods sold

 

52

 

(26)

Share-based compensation

 

730

 

651

Net change in:

       

Trade accounts receivable

 

1,262

 

(63)

Inventories

 

273

 

(28)

Other current assets

 

(1,076)

 

3

Accounts payable and accrued liabilities

 

(541)

 

(2,223)

Deferred revenue

 

(77)

 

(62)

Other long-term liabilities

 

(264)

 

(312)

Deposits and other long-term assets

 

912

 

88

     Net cash provided by (used in) operating activities

 

106

 

(1,455)

         

CASH FLOWS FROM INVESTING ACTIVITIES:

       

Purchases of property, plant and equipment

 

(432)

 

(365)

Net proceeds from sale of assets

 

-

 

60

Cash provided by (used in) investing activities

 

(432)

 

(305)

         

CASH FLOWS FROM FINANCING ACTIVITIES:

       

Net proceeds from issuance of common stock, less payments

       

     for shares withheld to cover tax

 

(159)

 

(222)

Repurchase of common stock

 

-

 

(1,220)

Cash provided by (used in) financing activities

 

(159)

 

(1,442)

Increase (decrease) in cash and cash equivalents

 

(485)

 

(3,202)

         

Effects of exchange rate changes on cash

 

(178)

 

24

Cash and cash equivalents at beginning of period

 

13,936

 

18,343

Cash and cash equivalents at end of period

 

$13,273

 

$15,165

         

Supplemental disclosure of cash flow information:

       

Cash paid during the period for:

 

     

    Income taxes

 

$69

 

$101

See notes to consolidated financial statements

       

7

 


 
 

 

 

DATA I/O CORPORATION

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

(UNAUDITED)

 

NOTE 1 - FINANCIAL STATEMENT PREPARATION

Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) prepared the financial statements as of June 30, 2020 and June 30, 2019 according to the rules and regulations of the Securities and Exchange Commission ("SEC").  These statements are unaudited but, in the opinion of management, include all adjustments (consisting of normal recurring adjustments and accruals) necessary to present fairly the results for the periods presented.  The balance sheet at December 31, 2019 has been derived from the audited financial statements at that date.  We have condensed or omitted certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America according to such SEC rules and regulations.  Operating results for the six months ended June 30, 2020 are not necessarily indicative of the results that may be expected for the year ending December 31, 2020.  These financial statements should be read in conjunction with the annual audited financial statements and the accompanying notes included in our Form 10-K for the year ended December 31, 2019.

 

Revenue Recognition

 

Topic 606 provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.    

 

We have elected the practical expedient to expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2020 and 2019, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We have made a sales tax policy election to exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

8

 


 
 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that includes an installation component, a service and support component and a software maintenance component.  The transaction price is allocated to the separate performance obligations on relative standalone sales price.  We allocate the transaction price of each element based on relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system sale based on shipping terms, installation revenue is recognized after the installation is performed, and hardware service and support and software maintenance revenue is recognized ratably over the term of the agreement, typically one year.  Deferred revenue includes service, support and maintenance contracts and represents the undelivered performance obligation of agreements that are typically for one year.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties’ rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 days from shipment. 

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value and the sale transaction is accounted for as revenue and cost of goods sold.

 

The following table represents our revenues by major categories:

 

   

 Three Months Ended

 

 Six Months Ended

Net sales by type

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

(in thousands)

                       

Equipment Sales

 

$2,476

 

(30.0%)

 

$3,537

 

$5,063

 

(30.1%)

 

$7,247

Adapter Sales

 

1,324

 

(6.8%)

 

1,421

 

2,669

 

(7.4%)

 

2,882

Software and Maintenance Sales

 

855

 

(2.4%)

 

876

 

1,708

 

(3.1%)

 

1,763

Total

 

$4,655

 

(20.2%)

 

$5,834

 

$9,440

 

(20.6%)

 

$11,892

 

Share-Based Compensation

 

All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line single-option method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.

9

 


 
 

Income Tax

 

Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.  The CARES Act, enacted in Q1 2020, accelerated the AMT credit refund of $640,000 to be a current asset instead of non-current.

 

Recently Adopted Accounting Pronouncements

 

None.

 

NOTE 2 – INVENTORIES

Inventories consisted of the following components:

   

June 30,
2020

 

December 31,
2019

 (in thousands)

       

Raw material

 

$2,122

 

$2,416

Work-in-process

 

1,667

 

1,832

Finished goods

 

942

 

772

Inventories

 

$4,731

 

$5,020

         

 

NOTE 3 – PROPERTY, PLANT AND EQUIPMENT, NET

Property and equipment consisted of the following components:

   

June 30,
2020

 

December 31,
2019

 (in thousands)

       

 Leasehold improvements

 

$390

 

$395

 Equipment

 

5,666

 

5,606

 Sales demonstration equipment

 

905

 

778

   

6,961

 

6,779

 Less accumulated depreciation

 

5,359

 

5,111

 Property and equipment, net

 

$1,602

 

$1,668

         

 

 

10

 


 
 

NOTE 4 – OTHER ACCRUED LIABILITIES

 

Other accrued liabilities consisted of the following components:

 

   

June 30,
2020

 

December 31,
2019

 (in thousands)

     

 

 Lease liability - short term

 

$692

 

$678

 Product warranty

 

341

 

367

 Sales return reserve

 

67

 

77

 Other taxes

 

98

 

126

 Other

 

61

 

124

 Other accrued liabilities

 

$1,259

 

$1,372

       

 

 

The changes in our product warranty liability for the six months ending June 30, 2020 are as follows:

 

   

June 30,
2020

 (in thousands)

   

 Liability, beginning balance

 

$367

 Net expenses

 

341

 Warranty claims

 

(341)

 Accrual revisions

 

(26)

 Liability, ending balance

 

$341

 

NOTE 5 – LEASES

Our leasing arrangements are primarily for facility leases we use to conduct our operations. The following table presents our future lease payments for long-term operating leases as of June 30, 2020:

 

   

Operating
Lease Commitments

 (in thousands)

   

2020 (remaining)

 

$381

2021

 

711

2022

 

317

2023

 

91

2024

 

83

Thereafter

 

141

Total

 

$1,724

   Less Imputed interest

 

(198)

Total operating lease liabilities

 

$1,526

     

11

 


 
 

 

Cash paid for operating lease liabilities for the three and six months ended June 30, 2020 was $189,000 and $374,000, respectively.  There was one new or modified leases during the six months ended June 30, 2020 included in the lease liability for approximately $15,000 relating to a new three-year automobile lease.

The following table presents supplemental balance sheet information related to leases as of June 30, 2020:

 

   

Balance at June 30, 2020

 

Balance at December 31, 2019

 (in thousands)

 

 

 

 

 Right-of-use assets (Long-term other assets)

 

$1,297

 

$1,574

 Lease liability-short term (Other accrued liabilities)

 

692

 

678

 Lease liability-long term (Long-term other payables)

 

834

 

1,178

 

At June 30, 2020, the weighted average remaining lease term is 3.08 years and the weighted average discount rate used is 5%.

 

The components of our lease expense for the three and six months ended June 30, 2020 include operating lease costs of $164,000 and $326,000, respectively, and short-term lease costs of $8,000 and $16,000, respectively.

 

Our real estate facility leases are described below:

 

During the third quarter of 2017, we amended our lease agreement, extending the lease for the Redmond, Washington headquarters facility through July 31, 2022.  This lease is for approximately 20,460 square feet.

 

We signed a lease agreement effective November 1, 2015 that extends the lease for a facility located in Shanghai, China through October 31, 2021.  This lease is for approximately 19,400 square feet.

 

During the fourth quarter of 2016, we signed a lease agreement for a new facility located near Munich, Germany which was effective March 1, 2017 and extends the lease through February 28, 2022.  This lease is for approximately 4,895 square feet.

 

NOTE 6 – OTHER COMMITMENTS

We have purchase obligations for inventory and production costs as well as other obligations such as capital expenditures, service contracts, marketing, and development agreements.  Arrangements are considered purchase obligations if a contract specifies all significant terms, including fixed or minimum quantities to be purchased, a pricing structure and approximate timing of the transaction.  Most arrangements are cancelable without a significant penalty, and with short notice, typically less than 90 days.  At June 30, 2020, the purchase commitments and other obligations totaled $1.2 million of which all but $228,000 are expected to be paid over the next twelve months.

 

NOTE 7 – CONTINGENCIES

As of June 30, 2020, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position. 

 

NOTE 8 – EARNINGS PER SHARE

Basic earnings per share is calculated based on the weighted average number of common shares outstanding during each period.  Diluted earnings per share is calculated based on these same weighted average shares outstanding plus the effect of potential shares issuable upon assumed exercise of stock options based on the treasury stock method. 

12

 


 
 

Potential shares issuable upon the exercise of stock options are excluded from the calculation of diluted earnings per share to the extent their effect would be anti-dilutive.

 

The following table sets forth the computation of basic and diluted earnings per share:

   

 Three Months Ended

 

 Six Months Ended

   

June 30,
2020

 

June 30,
2019

 

June 30,
2020

 

June 30,
2019

(in thousands except per share data)

               

Numerator for basic and diluted

               

earnings (loss) per share:

               

       Net income (loss)

 

($1,057)

 

$127

 

($1,611)

 

$153

                 

Denominator for basic

               

earnings (loss) per share:

               

       Weighted-average shares

 

8,302

 

8,257

 

8,261

 

8,280

                 

Employee stock options and awards

 

46

 

75

 

51

 

95

                 

Denominator for diluted

               

earnings (loss) per share:

               

       Adjusted weighted-average shares &

               

       assumed conversions of stock options

 

8,348

 

8,332

 

8,312

 

8,375

                 

Basic and diluted

               

earnings (loss) per share:

               

       Total basic earnings (loss) per share

 

($0.13)

 

$0.02

 

($0.19)

 

$0.02

       Total diluted earnings (loss) per share 

 

($0.13)

 

$0.02

 

($0.19)

 

$0.02

 

Weighted average options to purchase 25,000 shares for both the three and six month periods ending June 30, 2020 and weighted average options to purchase 35,422 and 30,240 shares for the three and six months ending June 30, 2019, respectively, were excluded from the computation of diluted earnings per share for the periods then ended because the options were anti-dilutive.

 

NOTE 9 – SHARE-BASED COMPENSATION

For share-based awards granted, we have recognized compensation expense based on the estimated grant date fair value method.  For these awards we have recognized compensation expense using a straight-line amortization method reduced for estimated forfeitures.  

 

 

13

 


 
 

The impact on our results of operations of recording share-based compensation, net of forfeitures, for the three and six months ended June 30, 2020 and 2019, respectively, were as follows:

   

 Three Months Ended

 

 Six Months Ended

   

June 30,
2020

 

June 30,
2019

 

June 30,
2020

 

June 30,
2019

 (in thousands)

               

Cost of goods sold

 

$15

 

$10

 

$21

 

$16

Research and development

 

132

 

103

 

196

 

166

Selling, general and administrative

 

334

 

251

 

513

 

469

Total share-based compensation

 

$481

 

$364

 

$730

 

$651

                 

 

Equity awards granted during the three and six months ended June 30, 2020 and 2019 were as follows:

 

   

 Three Months Ended

 

 Six Months Ended

   

June 30,
2020

 

June 30,
2019

 

June 30,
2020

 

June 30,
2019

                 

Restricted Stock Units

 

376,200

 

276,700

 

376,200

 

276,700

Stock Options

 

-

 

25,000

 

-

 

25,000

 

Non-employee directors Restricted Stock Units (“RSU’s”) vest over one year and options vest over three years and have a six-year exercise period.  Employee RSU’s typically vest over four years and employee Non-Qualified stock options typically vest quarterly over 4 years and have a six-year exercise period.

 

The remaining unamortized expected future equity compensation expense and remaining amortization period associated with unvested option grants, restricted stock awards and restricted stock unit awards at June 30, 2020 are:

 

   

June 30,
2020

     

Unamortized future equity compensation expense (in thousands)

 

$2,731

Remaining weighted average amortization period (in years)

 

2.63

 

 

 

 

14

 


 
 

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

General

 

Forward-Looking Statements

 

This Quarterly Report on Form 10-Q includes forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995.  This Act provides a “safe harbor” for forward-looking statements to encourage companies to provide prospective information about themselves as long as they identify these statements as forward-looking and provide meaningful cautionary statements identifying important factors that could cause actual results to differ from the projected results.  All statements other than statements of historical fact made in this Quarterly Report on Form 10-Q are forward-looking.  In particular, statements herein regarding economic outlook, impact of novel coronavirus or COVID-19; industry prospects and trends; expected business reopening; industry partnerships; future results of operations or financial position; future spending; breakeven revenue point; expected market bottom or growth; market acceptance of our newly introduced or upgraded products or services; the sufficiency of our cash to fund future operations and capital requirements; development, introduction and shipment of new products or services; changing foreign operations; trade issues and tariffs; and any other guidance on future periods are forward-looking statements.  Forward-looking statements reflect management’s current expectations and are inherently uncertain.  Although we believe that the expectations reflected in these forward-looking statements are reasonable, we cannot guarantee future results, levels of activity, performance, achievements, or other future events.  Moreover, neither Data I/O nor anyone else assumes responsibility for the accuracy and completeness of these forward-looking statements.  We are under no duty to update any of these forward-looking statements after the date of this Quarterly Report.  The Reader should not place undue reliance on these forward-looking statements.  The discussions above and in the section in Item 1A., Risk Factors “Cautionary Factors That May Affect Future Results” in our Annual report on Form 10-K for the year ended December 31, 2019, describe some, but not all, of the factors that could cause these differences.

 

OVERVIEW

 

After a weak first quarter of 2020, business continued to be negatively impacted by COVID-19 related country and customer business shutdowns.  In response to suddenly changing business conditions, we had scaled back planned investments and reduced our current spending.  Despite the spending reductions during Q1, we continued to invest with a long-term focus towards expanding our markets and creating unique value for our customers. This is true for both our traditional core business as well as the emerging security deployment business.  During Q2, we continued this course of response and actions.  Our facilities and operations in the different countries adapted to the local conditions and restrictions.   We have adapted to embrace virtual and remote operations for our employees, sales, and service and avoid travel and non-social distanced interactions.

 

Our short-term challenge continues to be operating in a cyclical, COVID-19 impacted, and rapidly evolving industry environment.  We must balance industry changes, industry partnerships, new technologies, business geography shifts, travel and customer restrictions, customer shut downs, exchange rate volatility, trade issues and tariffs, coronavirus impacts, increasing costs and strategic investments in our business with the level of demand and mix of business we expect.  We continue to manage our costs carefully and execute strategies for cash preservation, protecting our employee base and cost reductions. We are classified as an essential business under local standards and as such, are allowed to operate.  Many of our employees worked remotely from home, with the essential production and process workers onsite as part of our essential operations.  We have implemented policies and procedures in our offices and production facilities to keep our essential workers safe, while at the same time protecting our production capacity.  We have and are taking advantage of government programs in various countries to assist during the pandemic, to the extent we are qualified to participate, including foreign work reduction programs, foreign payroll benefit programs, and USA payroll tax deferrals.  While we were approved, we have not, and do not expect, to accept funding from the SBA PPP program in the USA. 

 

15

 


 
 

We are focusing our research and development efforts in our strategic growth markets, namely automotive electronics and IoT new programming technologies, secure supply chain solutions, automated programming systems and their enhancements for the manufacturing environment and software. We are continuing to develop technology to securely provision new categories of semiconductors, including Secure Elements, Authentication Chips, and Secure Microcontrollers. We plan to deliver new programming technology and automated handling systems for managed and secure programming in the manufacturing environment.  We continue to focus on extending the capabilities and support for our product lines and supporting the latest semiconductor devices, including various configurations of NAND Flash, e-MMC, UFS and microcontrollers on our newer products.

 

Our customer focus has been on global and strategic high-volume manufacturers in key market segments like automotive electronics, IoT, industrial controls and consumer electronics, as well as programming centers.

 

Although the long-term prospects for our strategic growth markets should be good, these markets and our business have been, and are likely to continue to be, adversely impacted by the global pandemic of novel coronavirus or COVID-19.

 

As a global company with 92% of our 2019 sales in international markets, we have been and expect to continue to be significantly impacted by the COVID-19 pandemic, which started to impact us first in China and has since spread to Asia, USA, Europe and all other markets we serve.  During Q2 we have seen that our China operations have resumed onsite quasi-normal activities. Automotive facilities that had largely shut down began reopening mid to late Q2.  Our European operations are opening up for travel and limited customer site visits. Our Americas operations continue to be relatively restricted as local areas begin opening but international travel is very restricted or generally banned. Although our facilities in Shanghai, Redmond and Germany are currently open and operating in pandemic related restricted ways, we believe that our classification as essential by certain U.S. customer groups has and will continue to keep operations open.  We source other components from China and other countries that are used to manufacture our equipment in China and in our Redmond, Washington facility and these components may not be readily available or subject to unpredictable delays.  Many of our employees and executives are working from home and we are limiting visitors to our facilities as the pandemic continues.  All of our facilities are subject to restrictions and closure by governmental entities. The pandemic has and may continue to impact our revenues, our ability to obtain key components and to manufacture our products, as well as sell, install and support our products around the world. We expect to continue to be impacted and respond to customer site restrictions on sales and service visits, travel restrictions, closed borders, cancelled trade shows and industry gatherings, and modifications in our operations to allow social distancing. These same concerns impact our customers, who also may not be able to maintain their financial stability.  See also the detailed discussion of the impacts of the coronavirus COVID-19 on our business and markets in Item 1A, Risk Factors in our annual report on Form 10-K. The pandemic could have the effect of heightening many of the other risks described in it. Annual projections on spending, growth, mix, and profitability have been and are likely to be further revised substantially as new information is obtained.

 

In addition to COVID-19 risks, we are facing increased geopolitical risks with respect to markets and supply chains. As countries increasingly seek to favor local suppliers and place punitive tariffs on selected countries, we may be placed at a disadvantage in selling, tariff policy, and asset management in selected regions where we operate and sell.

 

cRITICAL aCCOUNTING pOLICY jUDGMENTS AND eSTIMATES

The preparation of financial statements in accordance with accounting principles generally accepted in the United States of America requires that we make estimates and judgments, which affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosures of contingent assets and liabilities.  On an on-going basis, we evaluate our estimates, including those related to revenue recognition, sales returns, bad debts, inventories, intangible assets, income taxes, warranty obligations, restructuring charges, contingencies such as litigation and contract terms that have multiple elements and other complexities typical in the capital equipment industry.  We base our estimates on historical experience and other assumptions that we believe are reasonable under the circumstances.  Actual results may differ from these estimates under different assumptions or conditions. 

 

16

 


 
 

We believe the following critical accounting policies affect the more significant judgments and estimates used in the preparation of our financial statements:

 

Revenue Recognition:  Topic 606 provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.    

 

We have elected the practical expedient to expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2020 and 2019, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We have made a sales tax policy election to exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that includes an installation component, a service and support component and a software maintenance component.  The transaction price is allocated to the separate performance obligations on relative standalone sales price.  We allocate the transaction price of each element based on relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system sale based on shipping terms, installation revenue is recognized after the installation is performed, and hardware service and support and software maintenance revenue is recognized ratably over the term of the agreement, typically one year.  Deferred revenue includes service, support and maintenance contracts and represents the undelivered performance obligation of agreements that are typically for one year.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties’ rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 days from shipment. 

17

 


 
 

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value and the sale transaction is accounted for as revenue and cost of goods sold.

 

Allowance for Doubtful Accounts:  We base the allowance for doubtful accounts receivable on our assessment of the collectability of specific customer accounts and the aging of accounts receivable.  If there is deterioration of a major customer’s credit worthiness or actual defaults are higher than historical experience, our estimates of the recoverability of amounts due to us could be adversely affected. 

 

Inventory: Inventories are stated at the lower of cost or net realizable value.  Adjustments are made to standard cost, which approximates actual cost on a first-in, first-out basis.  We estimate reductions to inventory for obsolete, slow-moving, excess and non-salable inventory by reviewing current transactions and forecasted product demand.  We evaluate our inventories on an item by item basis and record inventory adjustments accordingly.  If there is a significant decrease in demand for our products, uncertainty during product line transitions, or a higher risk of inventory obsolescence because of rapidly changing technology and customer requirements, we may be required to increase our inventory adjustments and our gross margin could be adversely affected. 

 

Warranty Accruals:  We accrue for warranty costs based on the expected material and labor costs to fulfill our warranty obligations.  If we experience an increase in warranty claims, which are higher than our historical experience, our gross margin could be adversely affected. 

 

Tax Valuation Allowances:  Given the uncertainty created by our loss history, as well as the current and ongoing cyclical and COVID-19 related uncertain economic outlook for our industry and capital and geographic spending as well as income and current net deferred tax assets by entity and country, we expect to continue to limit the recognition of net deferred tax assets and accounting for uncertain tax positions and maintain the tax valuation allowances.  At the current time, we expect, therefore, that reversals of the tax valuation allowance will take place as we are able to take advantage of the underlying tax loss or other attributes in carry forward or their use by future income or circumstances allow us to realize these attributes.  The transfer pricing and expense or cost sharing arrangements are complex areas where judgments, such as the determination of arms-length arrangements, can be subject to challenges by different tax jurisdictions. 

 

Share-based Compensation:  We account for share-based awards made to our employees and directors, including employee stock option awards and restricted stock unit awards, using the estimated grant date fair value method of accounting.  For options, we estimate the fair value using the Black-Scholes valuation model and an estimated forfeiture rate, which requires the input of highly subjective assumptions, including the option’s expected life and the price volatility of the underlying stock.  The expected stock price volatility assumption was determined using the historical volatility of our common stock.  Changes in the subjective assumptions required in the valuation model may significantly affect the estimated value of the awards, the related stock-based compensation expense and, consequently, our results of operations.  Restricted stock unit awards are valued based on the average of the high and low price on the date of the grant and an estimated forfeiture rate.  For both options and restricted awards, expense is recognized as compensation expense on the straight-line basis.  Employee Stock Purchase Plan (“ESPP”) shares were issued under provisions that do not require us to record any equity compensation expense.  

 

 

18

 


 
 

Results of Operations:

Net Sales

 

   

 Three Months Ended

 

 Six Months Ended

Net sales by product line

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                       

Automated programming systems

 

$3,531

 

(24.1%)

 

$4,651

 

$6,949

 

(26.5%)

 

$9,454

Non-automated programming systems

 

1,124

 

(5.0%)

 

1,183

 

2,491

 

2.2%

 

2,438

Total programming systems

 

$4,655

 

(20.2%)

 

$5,834

 

$9,440

 

(20.6%)

 

$11,892

                         
                         
   

 Three Months Ended

 

 Six Months Ended

Net sales by location

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                       

United States

 

$290

 

(52.4%)

 

$609

 

$562

 

(41.8%)

 

$966

% of total

 

6.2%

     

10.4%

 

6.0%

     

8.1%

                         

International

 

$4,365

 

(16.5%)

 

$5,225

 

$8,878

 

(18.7%)

 

$10,926

% of total

 

93.8%

     

89.6%

 

94.0%

     

91.9%

                         
                         
   

 Three Months Ended

 

 Six Months Ended

Net sales by type

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                       

Equipment sales

 

$2,476

 

(30.0%)

 

$3,537

 

$5,063

 

(30.1%)

 

$7,247

Adapter sales

 

1,324

 

(6.8%)

 

1,421

 

2,669

 

(7.4%)

 

2,882

Software and maintenance

 

855

 

(2.4%)

 

876

 

1,708

 

(3.1%)

 

1,763

Total programming systems

 

$4,655

 

(20.2%)

 

$5,834

 

$9,440

 

(20.6%)

 

$11,892

 

Net sales in the second quarter of 2020 were $4.7 million, as compared with $5.8 million in the prior year period and $4.8 million in the first quarter of 2020.  Second quarter 2020 booking were $5.0 million, as compared with $5.1 million in the prior year period and $4.3 million in first quarter of 2020.

On a geographic basis, international sales represented approximately 93.8% of total net sales for the second quarter of 2020 compared with 89.6% in the prior year period. Total capital equipment sales were 53% of revenues, adapters were 28% and software and maintenance revenues were 19% of revenues in the second quarter of 2020 compared with 61% and 24% and 15%, respectively, for the second quarter of 2019.

After a strong Q4 2019, business was down in Q1 and Q2 2020, we believe, initially due to seasonality and continued cyclical downturn followed by country and customer business shutdowns related to COVID-19.  We are now seeing business and factories reopening and resuming business in China. Many of our automotive electronics customers in the Americas and Europe shutdown operations in March, and have begun to or are setting expectations for reopening in the third quarter of 2020 with a gradual ramp up over the next few quarters to restore their previous business levels. We expect this will continue to impact our capacity related demand during this time frame.

19

 


 
 

Net sales for the first six months of 2020 were $9.4 million, as compared with $11.9 million during the same period in 2019 and declined for the same reasons as in the second quarter of 2020.

Backlog at June 30, 2020 was $2.8 million, as compared with $2.3 million at March 31, 2020 and $2.9 million at December 31, 2019. Data I/O had $1.4 million in deferred revenue at the end of the second quarter of 2020, compared with $1.5 million at both the end of the first quarter of 2020 and the fourth quarter of 2019.

Gross Margin

 

 Three Months Ended

 

 Six Months Ended

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                     

Gross margin

$2,439

 

(31.9%)

 

$3,584

 

$5,223

 

(28.1%)

 

$7,269

Percentage of net sales

52.4%

     

61.4%

 

55.3%

     

61.1%

 

Gross margin as a percentage of sales in the second quarter of 2020 was 52.4% as compared to 61.4% in the same period last year. For the second quarter of 2020 gross margin was primarily impacted by fixed costs being spread over lower revenues and unfavorable currency and factory variances. We expect the lower sales levels to continue to impact gross margin percentages in the third quarter of 2020 and start to reverse as business levels are restored.

 

Gross margin for the first six months of 2020 declined for the same factors as in the second quarter.

 

Research and Development

 

 

 Three Months Ended

 

 Six Months Ended

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                     

Research and development

$1,614

 

(3.9%)

 

$1,680

 

$3,196

 

(4.9%)

 

$3,361

Percentage of net sales

34.7%

     

28.8%

 

33.9%

     

28.3%

 

Research and development (“R&D”) expenses were lower in the second quarter and year to date 2020 compared to the same periods in 2019 primarily due to cost control measures implemented.  Due to expense management, planned increases in engineering spending have been deferred to later quarters.

 

 

20

 


 
 

Selling, General and Administrative

 

 

 Three Months Ended

 

 Six Months Ended

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                     

Selling, general &

                     

administrative

$1,703

 

(6.9%)

 

$1,829

 

$3,514

 

(7.6%)

 

$3,803

Percentage of net sales

36.6%

     

31.4%

 

37.2%

     

32.0%

 

Selling, General and Administrative (“SG&A”) expenses were lower in the second quarter and year to date 2020 compared to the same periods in 2019 primarily due to lower sales commissions on lower sales, and cost control measures implemented, with most expense categories lower than the prior year periods.  We expect this spending trend to continue in the third quarter of 2020 and start to reverse as business levels are restored.

 

Interest

 

 

 Three Months Ended

 

 Six Months Ended

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                     

Interest income

$1

 

(90.0%)

 

$10

 

$9

 

(59.1%)

 

$22

                           

 

 

Interest income was lower in the second quarter and year to date 2020 compared to the same periods in 2019 primarily due to lower interest rates on lower invested funds.

 

Income Taxes

 

 

 Three Months Ended

 

 Six Months Ended

 

June 30,
2020

 

Change

 

June 30,
2019

 

June 30,
2020

 

Change

 

June 30,
2019

 (in thousands)

                     

Income tax benefit (expense)

($97)

 

259.3%

 

($27)

 

($102)

 

*

 

$2

                       

   * not meaningful

                     

 

Income tax for both the second quarter of 2020 and the same period in 2019, primarily relate to foreign and state taxes.  In addition, in the first quarter of 2019, a US domestic benefit was realized from converting remaining sequestered AMT credits, that had a full valuation allowance on such credits, into a receivable of approximately $42,000, resulting from IRS rule changes allowing the release of previously sequestered AMT credits.

 

The effective tax rate differed from the statutory tax rate primarily due to the effect of valuation allowances, as well as foreign taxes.  We have a valuation allowance of $8.1 million as of June 30, 2020.  As of June 30, for both 2020 and 2019, our deferred tax assets and valuation allowance have been reduced by approximately $363,000 and $325,000, respectively, associated with the requirements of accounting for uncertain tax positions.  Given the uncertainty created by our loss history, as well as the volatile and uncertain economic outlook for our industry and capital spending, we have limited the recognition of net deferred tax assets including our net operating losses and credit carryforwards and continue to maintain a valuation allowance for the full amount of the net deferred tax asset balance.  The CARES Act, initiated in Q1 2020, accelerated the AMT credit refund of $640,000 to be a current asset instead of non-current.  Movements of cash that generate local country withholding taxes create a current tax expense that will create additional deferred tax assets that will result in establishing additional tax valuation allowances.

21

 


 

 

Financial Condition

             

Liquidity and Capital Resources

 

June 30,
2020

 

Change

 

December 31,
2019

 (in thousands)

         

Working capital

$17,975

 

($522)

 

$18,497

 

At June 30, 2020, our principal sources of liquidity consisted of existing cash and cash equivalents.  Cash decreased $663,000 from December 31, 2019 primarily funding current year net loss and prepaid items, offset, in part, by collections on accounts receivables.

Net working capital at the end of the second quarter was $18.0 million, down slightly from $18.5 million at December 31, 2019.  The CARES Act acceleration of the AMT credit refund to current assets, offset some of the other declines in current assets. The company continues to have no debt.

 

Although we have no significant external capital expenditure plans currently, we expect that we will continue to make and manage carefully capital expenditures to support our business.  We plan to increase our internally developed rental, security provisioning, sales demonstration and test equipment as we develop and release new products. Capital expenditures are currently expected to be funded by existing and internally generated funds.

 

As a result of our cyclical and seasonal industry, significant product development, customer support and selling and marketing efforts, we have required substantial working capital to fund our operations.  We have tried to balance our level of development spending with the goal of profitable operations or managing down business levels related to COVID-19.  We have implemented or have initiatives to implement geographic shifts in our operations, optimize real estate usage, reduce exposure to the impact of currency volatility and tariffs, increase product development differentiation, and reduce costs.

 

We believe that we have sufficient cash or working capital available under our operating plan to fund our operations and capital requirements through at least the next one-year period.  We may require additional cash at the U.S. headquarters, which could cause potential repatriation of cash that is held in our foreign subsidiaries.  We have liquidated our subsidiary in Canada and repatriated its cash.  For any repatriation, there may be tax and other impediments to any repatriation actions.  As many repatriations typically have associated withholding taxes, those taxes withheld will be a current tax without generating a current or deferred tax benefit able to be recognized as they result in establishing additional valuation allowances.  Our working capital may be used to fund possible losses, business growth, project initiatives, share repurchases and business development initiatives including acquisitions, which could reduce our liquidity and result in a requirement for additional cash before that time.  Any substantial inability to achieve our current business plan could have a material adverse impact on our financial position, liquidity, or results of operations and may require us to reduce expenditures and/or seek possible additional financing.

 

OFF-Balance sheet arrangements

 

Except as noted in the accompanying consolidated financial statements in Note 5, “Operating Lease Commitments” and Note 6, “Other Commitments”, we have no off-balance sheet arrangements.

 

 

22

 


 

Non-Generally accepted accounting principles (GAAP) FINANCIAL MeasureS

 

Earnings Before Interest, Taxes, Depreciation and Amortization (“EBITDA”) was ($712,000) in the second quarter of 2020 compared to $364,000 in the second quarter of 2019.  Adjusted EBITDA, excluding equity compensation (a non-cash item) was ($231,000) in the second quarter of 2020, compared to $728,000 in the second quarter of 2019.

 

Earnings Before Interest, Taxes, Depreciation and Amortization (“EBITDA”) was ($1,071,000) in the six months ended June 30, 2020 compared to $553,000 in the same period of 2019.  Adjusted EBITDA, excluding equity compensation (a non-cash item) was ($341,000) in the six months ended June 30, 2020 compared to $1,204,000 in the same period of 2019.

 

Non-GAAP financial measures, such as EBITDA and adjusted EBITDA, should not be considered a substitute for, or superior to, measures of financial performance prepared in accordance with GAAP.  We believe that these non-GAAP financial measures provide meaningful supplemental information regarding the Company’s results and facilitate the comparison of results. 

 

A reconciliation of net income to EBITDA and adjusted EBITDA follows:

 

Non-Generally accepted accounting principles (GAAP) FINANCIAL Measure RECONCILIATION

 

   

Three Months Ended
June 30,

 

Six Months Ended
June 30,

   

2020

 

2019

 

2020

 

2019

 (in thousands)

               

Net Income (loss)

 

($1,057)

 

$127

 

($1,611)

 

$153

   Interest (income)

 

(1)

 

(10)

 

(9)

 

(22)

   Taxes

 

97

 

27

 

102

 

(2)

   Depreciation & amortization

 

249

 

220

 

447

 

424

EBITDA earnings (loss)

 

($712)

 

$364

 

($1,071)

 

$553

                 

   Equity compensation

 

481

 

364

 

730

 

651

Adjusted EBITDA earnings (loss),

 

 

 

 

       

   excluding equity compensation

 

($231)

 

$728

 

($341)

 

$1,204

                 

 

 

Recently Adopted Accounting Pronouncements

 

None.

 

Item 3.                Quantitative and Qualitative Disclosures About Market Risk

 

Not applicable.

 

Item 4.                 Controls and Procedures

 

Evaluation of disclosure controls and procedures

 

Under the supervision and with the participation of our management, including our Chief Executive Officer and Chief Financial Officer, we evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rule 13a-15(e) and Rule 15d-15(e) under the Exchange Act) as of the end of the period covered by this report (the “Evaluation Date”). Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer concluded that, as of the Evaluation Date, our disclosure controls and procedures were effective at the reasonable level of assurance. Disclosure Controls are controls and procedures designed to reasonably assure that information required to be disclosed in our reports filed under the Exchange Act is recorded, processed, summarized, and reported within the time periods specified in the SEC’s rules and forms. Disclosure Controls are also designed to reasonably assure that such information is accumulated and communicated to our management, including the CEO and CFO, as appropriate to allow timely decisions regarding required disclosure.

23

 


 

 

Changes in internal controls

 

There were no changes made in our internal controls during the period covered by this report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting which is still under the Committee of Sponsoring Organizations of the Treadway Commission (“COSO”) in Internal Control – Integrated Framework (2013).

 

PART II - OTHER INFORMATION

 

Item 1.                 Legal Proceedings

 

From time to time, we may be involved in litigation relating to claims arising out of our operations in the normal course of business.  As of June 30, 2020, we were not a party to any material pending legal proceedings.

 

Item 1A.               Risk Factors


In addition to the other information set forth in this report, you should carefully consider the factors discussed in Part I, “Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2019, which could materially affect our business, financial condition or future results. The risks described in our Annual Report on Form 10-K are not the only risks facing our Company. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, financial condition and/or operating results.  There are no material changes to the Risk Factors described in our Annual Report.

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

 

None

 

Item 3.

Defaults Upon Senior Securities

 

None

Item 4.

Mine Safety Disclosures

 

Not Applicable

Item 5.

Other Information

 

None

 

 

Item 6.

Exhibits

 

(a)Exhibits

 

24

 


 
 

 

10

Material Contracts:

 

 

None

 

 

  31

Certification pursuant to Section 302 of the Sarbanes Oxley Act of 2002:

 

31.1

Chief Executive Officer Certification

 

31.2

Chief Financial Officer Certification

 

  32

Certification pursuant to Section 906 of the Sarbanes Oxley Act of 2002:

 

32.1

Chief Executive Officer Certification

 

32.2

Chief Financial Officer Certification

 

SIGNATURES

 

 

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.

 

DATED:   August 12, 2020

 

 

DATA I/O CORPORATION

(REGISTRANT)

 

 

By: //S//Anthony Ambrose                                                                                                 

Anthony Ambrose

President and Chief Executive Officer

(Principal Executive Officer and Duly Authorized Officer)

 

 

By: //S//Joel S. Hatlen

Joel S. Hatlen

Vice President and Chief Operating and Financial Officer

Secretary and Treasurer

(Principal Financial Officer and Duly Authorized Officer

25

 

 
EX-101.INS 2 daio-20200630.xml XBRL INSTANCE FILE 0000351998 2020-01-01 2020-06-30 0000351998 2019-01-01 2019-06-30 0000351998 2019-12-31 0000351998 2020-06-30 0000351998 us-gaap:CostOfSalesMember 2020-01-01 2020-06-30 0000351998 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-06-30 0000351998 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-06-30 0000351998 2019-06-30 0000351998 us-gaap:CostOfSalesMember 2019-01-01 2019-06-30 0000351998 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-06-30 0000351998 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2019-01-01 2019-06-30 0000351998 2018-12-31 0000351998 us-gaap:CommonStockMember 2018-12-31 0000351998 us-gaap:CommonStockMember 2019-12-31 0000351998 us-gaap:RetainedEarningsMember 2018-12-31 0000351998 us-gaap:RetainedEarningsMember 2019-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0000351998 us-gaap:CommonStockMember 2020-06-30 0000351998 us-gaap:CommonStockMember 2019-06-30 0000351998 us-gaap:RetainedEarningsMember 2020-06-30 0000351998 us-gaap:RetainedEarningsMember 2019-06-30 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-30 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-06-30 0000351998 DAIO:EquipmentSalesMember 2020-01-01 2020-06-30 0000351998 DAIO:EquipmentSalesMember 2019-01-01 2019-06-30 0000351998 DAIO:AdapterSalesMember 2020-01-01 2020-06-30 0000351998 DAIO:AdapterSalesMember 2019-01-01 2019-06-30 0000351998 DAIO:SoftwareAndMaintenanceMember 2020-01-01 2020-06-30 0000351998 DAIO:SoftwareAndMaintenanceMember 2019-01-01 2019-06-30 0000351998 us-gaap:SeriesAPreferredStockMember 2020-06-30 0000351998 us-gaap:SeriesAPreferredStockMember 2019-12-31 0000351998 2020-04-01 2020-06-30 0000351998 2019-04-01 2019-06-30 0000351998 us-gaap:CommonStockMember 2020-01-01 2020-03-31 0000351998 us-gaap:CommonStockMember 2019-01-01 2019-03-31 0000351998 us-gaap:CommonStockMember 2019-04-01 2019-06-30 0000351998 us-gaap:CommonStockMember 2020-04-01 2020-06-30 0000351998 us-gaap:CommonStockMember 2020-03-31 0000351998 us-gaap:CommonStockMember 2019-03-31 0000351998 us-gaap:RetainedEarningsMember 2020-01-01 2020-03-31 0000351998 us-gaap:RetainedEarningsMember 2019-01-01 2019-03-31 0000351998 us-gaap:RetainedEarningsMember 2019-04-01 2019-06-30 0000351998 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0000351998 us-gaap:RetainedEarningsMember 2020-03-31 0000351998 us-gaap:RetainedEarningsMember 2019-03-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-03-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-03-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-04-01 2019-06-30 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-04-01 2020-06-30 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-31 0000351998 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-03-31 0000351998 2020-01-01 2020-03-31 0000351998 2019-01-01 2019-03-31 0000351998 2020-03-31 0000351998 2019-03-31 0000351998 DAIO:EquipmentSalesMember 2020-04-01 2020-06-30 0000351998 DAIO:AdapterSalesMember 2020-04-01 2020-06-30 0000351998 DAIO:SoftwareAndMaintenanceMember 2020-04-01 2020-06-30 0000351998 DAIO:EquipmentSalesMember 2019-04-01 2019-06-30 0000351998 DAIO:AdapterSalesMember 2019-04-01 2019-06-30 0000351998 DAIO:SoftwareAndMaintenanceMember 2019-04-01 2019-06-30 0000351998 us-gaap:CostOfSalesMember 2020-04-01 2020-06-30 0000351998 us-gaap:ResearchAndDevelopmentExpenseMember 2020-04-01 2020-06-30 0000351998 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-04-01 2020-06-30 0000351998 us-gaap:CostOfSalesMember 2019-04-01 2019-06-30 0000351998 us-gaap:ResearchAndDevelopmentExpenseMember 2019-04-01 2019-06-30 0000351998 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2019-04-01 2019-06-30 0000351998 2020-07-30 iso4217:USD xbrli:shares iso4217:USD xbrli:shares xbrli:pure DATA I/O CORP 0000351998 10-Q 2020-06-30 false --12-31 Yes Non-accelerated Filer false true false Q2 2020 23979000 22844000 924000 2000000 5020000 4731000 4099000 2840000 28281000 26163000 1994000 1717000 640000 0 1668000 1602000 5482000 4869000 31000 64000 1372000 1259000 1387000 1334000 1541000 1304000 1151000 908000 91000 150000 1178000 834000 0 0 0 0 28281000 26163000 274000 94000 2508000 897000 18748000 19319000 80000 73000 5000000 5000000 200000 200000 0 0 0 0 30000000 30000000 8212748 8390943 8212748 8390943 772000 942000 1832000 1667000 2416000 2122000 5111000 5359000 6779000 6961000 395000 390000 1372000 1259000 124000 61000 126000 98000 77000 67000 678000 692000 1574000 1297000 13936000 13273000 15165000 18343000 21530000 20310000 22729000 23357000 19254000 18748000 3695000 2508000 408000 274000 19319000 18463000 897000 3848000 94000 418000 19001000 19235000 1954000 3721000 9000 536000 20964000 23492000 8338628 8212748 8390943 8261702 8221447 8287825 -57612 -188194 -908000 -313000 -908000 -313000 5190 4046 162071 169496 -163000 -228000 -10000 -9000 -228000 -163000 -10000 -9000 3509 2763 14000 15000 14000 15000 481000 364000 249000 287000 364000 481000 249000 287000 -1611000 153000 -1057000 127000 -554000 26000 127000 -1057000 -554000 26000 85000 -118000 -265000 128000 -118000 85000 -265000 128000 8390943 Yes WA 0-10394 5223000 7269000 2439000 3584000 4217000 4623000 2216000 2250000 9440000 11892000 5063000 7247000 2669000 2882000 1708000 1763000 4655000 5834000 2476000 1324000 855000 3537000 1421000 876000 3196000 3361000 1614000 1680000 3514000 3803000 1703000 1829000 6710000 7164000 3317000 3509000 -1487000 105000 -878000 75000 9000 22000 1000 10000 0 60000 0 0 -31000 -36000 -83000 69000 -22000 46000 -82000 79000 -1509000 151000 -960000 154000 102000 -2000 97000 27000 -0.19 0.02 -0.13 0.02 -0.19 0.02 -0.13 0.02 8261 8280 8302 8257 8261 8375 8302 8332 -180000 10000 85000 -118000 -1791000 163000 -972000 9000 106000 -1455000 -912000 -88000 -264000 -312000 -77000 -62000 -541000 -2223000 1076000 -3000 -273000 28000 -1262000 63000 730000 651000 21000 196000 513000 16000 166000 469000 481000 364000 15000 132000 334000 10000 103000 251000 52000 -26000 446000 424000 -432000 -305000 0 60000 432000 365000 -159000 -1442000 0 1220000 -159000 -222000 -178000 24000 -485000 -3202000 69000 101000 <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Data I/O Corporation (&#8220;Data I/O&#8221;, &#8220;We&#8221;, &#8220;Our&#8221;, &#8220;Us&#8221;) prepared the financial statements as of June 30, 2020 and June 30, 2019 according to the rules and regulations of the Securities and Exchange Commission (&#34;SEC&#34;). &#160;These statements are unaudited but, in the opinion of management, include all adjustments (consisting of normal recurring adjustments and accruals) necessary to present fairly the results for the periods presented.&#160; The balance sheet at December 31, 2019 has been derived from the audited financial statements at that date. &#160;We have condensed or omitted certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America according to such SEC rules and regulations.&#160; Operating results for the six months ended June 30, 2020 are not necessarily indicative of the results that may be expected for the year ending December 31, 2020.&#160; These financial statements should be read in conjunction with the annual audited financial statements and the accompanying notes included in our Form 10-K for the year ended December 31, 2019.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><u>Revenue Recognition</u></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Topic 606 provides a single, principles-based five-step model to be applied to all contracts with customers.&#160; It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer. &#160;&#160;&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have elected the practical expedient to expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.&#160; During 2020 and 2019, the impact of capitalization of incremental costs for obtaining contracts was immaterial.&#160; We have made a sales tax policy election to exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.&#160; We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.&#160; These systems are standard products with published product specifications and are configurable with standard options.&#160; The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.&#160; Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.&#160; This considers the complexity, skill and training needed as well as customer expectations regarding installation.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We enter into arrangements with multiple performance obligations that arise during the sale of a system that includes an installation component, a service and support component and a software maintenance component.&#160; The transaction price is allocated to the separate performance obligations on relative standalone sales price.&#160; We allocate the transaction price of each element based on relative selling prices.&#160; Relative selling price is based on the selling price of the standalone system.&#160; For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.&#160; For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.&#160; Revenue is recognized on the system sale based on shipping terms, installation revenue is recognized after the installation is performed, and hardware service and support and software maintenance revenue is recognized ratably over the term of the agreement, typically one year.&#160; Deferred revenue includes service, support and maintenance contracts and represents the undelivered performance obligation of agreements that are typically for one year.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We recognize revenue when there is an approved contract that both parties are committed to perform, both parties&#8217; rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer&#8217;s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.&#160; We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.&#160; Payment terms are generally 30 days from shipment.&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We transfer certain products out of service from their internal use and make them available for sale.&#160; The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.&#160; Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.&#160; These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.&#160; The transfer amount is the product unit&#8217;s net book value and the sale transaction is accounted for as revenue and cost of goods sold.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table represents our revenues by major categories:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-size: 8pt"><b>Net sales by type</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Change</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Change</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 8pt">(in thousands)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="2">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="2">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 42%; font-size: 8pt; text-align: left">Equipment Sales</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">2,476</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 8pt; text-align: right">(30.0%)</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">3,537</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">5,063</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 8pt; text-align: right">(30.1%)</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">7,247</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Adapter Sales</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,324</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">(6.8%)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,421</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">2,669</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">(7.4%)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">2,882</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Software and Maintenance Sales</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">855</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">(2.4%)</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">876</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">1,708</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">(3.1%)</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">1,763</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; padding-bottom: 2.5pt">Total</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">4,655</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">(20.2%)</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">5,834</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">9,440</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">(20.6%)</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">11,892</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: white">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><u>Share-Based Compensation</u></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line single-option method.&#160; Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><u>Income Tax</u></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.&#160; Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.&#160; Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.&#160; A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.&#160; The CARES Act, enacted in Q1 2020, accelerated the AMT credit refund of $640,000 to be a current asset instead of non-current.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><u>Recently Adopted Accounting Pronouncements</u></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">None.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">Inventories consisted of the following components:</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>December 31,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: left">Raw material</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">2,122</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">2,416</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">Work-in-process</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,667</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,832</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Finished goods</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">942</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">772</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; padding-bottom: 2.5pt">Inventories</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">4,731</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">5,020</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Property and equipment consisted of the following components:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>December 31,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: justify">Leasehold improvements</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">390</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">395</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: justify">Equipment</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">5,666</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">5,606</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: justify; padding-bottom: 1pt">Sales&#160;demonstration&#160;equipment&#160;&#160;&#160;&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">905</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">778</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 5.4pt">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">6,961</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">6,779</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: justify; padding-bottom: 1pt">Less&#160;accumulated&#160;depreciation</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">5,359</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">5,111</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: justify; padding-bottom: 2.5pt">Property and equipment, net</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,602</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,668</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Other accrued liabilities consisted of the following components:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>December 31,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: left">Lease liability - short term</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">692</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">678</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Product warranty</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">341</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">367</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Sales return reserve</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">67</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">77</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Other taxes</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">98</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">126</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; padding-bottom: 1pt">Other</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">61</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">124</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 2.5pt">Other accrued liabilities</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,259</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,372</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The changes in our product warranty liability for the six months ending June 30, 2020 are as follows:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><b>&#160;</b></p> <table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"><b>&#160;</b></td><td style="padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,<br /> 2020</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">(in thousands)</td><td style="font-size: 12pt">&#160;</td> <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 70%; text-align: left">Liability, beginning balance</td><td style="width: 10%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">367</td><td style="width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net expenses</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">341</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Warranty claims</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">(341</td><td style="text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Accrual revisions</td><td style="padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(26</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Liability, ending balance</td><td style="padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">341</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">Our leasing arrangements are primarily for facility leases we use to conduct our operations. The following table presents our future lease payments for long-term operating leases as of June 30, 2020:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td colspan="2" style="text-align: left; font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"><b>Operating<br /> Lease Commitments</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><font style="font-size: 8pt">(in thousands) </font></td><td style="text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td> <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 44%; text-align: left"><font style="font-size: 8pt">2020 (remaining)</font></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 43%; text-align: right">381</td><td style="width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">2021</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">711</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2022</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">317</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">2023</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">91</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2024</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">83</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><font style="font-size: 8pt">Thereafter</font></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">141</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><font style="font-size: 8pt">Total</font></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,724</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><font style="font-size: 8pt">&#160;&#160;Less Imputed interest</font></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(198</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><font style="font-size: 8pt">Total operating lease liabilities</font></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,526</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">Cash paid for operating lease liabilities for the three and six months ended June 30, 2020 was $189,000 and $374,000, respectively.&#160; There was one new or modified leases during the six months ended June 30, 2020 included in the lease liability for approximately $15,000 relating to a new three-year automobile lease.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">The following table presents supplemental balance sheet information related to leases as of June 30, 2020:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Balance at June 30, 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Balance at December 31, 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: left">Right-of-use assets (Long-term other assets)</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">1,297</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">1,574</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Lease liability-short term (Other accrued liabilities)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">692</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">678</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Lease liability-long term (Long-term other payables)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">834</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,178</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 6pt; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">At June 30, 2020, the weighted average remaining lease term is 3.08 years and the weighted average discount rate used is 5%.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The components of our lease expense for the three and six months ended June 30, 2020 include operating lease costs of $164,000 and $326,000, respectively, and short-term lease costs of $8,000 and $16,000, respectively.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Our real estate facility leases are described below:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the third quarter of 2017, we amended our lease agreement, extending the lease for the Redmond, Washington headquarters facility through July 31, 2022.&#160; This lease is for approximately 20,460 square feet.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We signed a lease agreement effective November 1, 2015 that extends the lease for a facility located in Shanghai, China through October 31, 2021.&#160; This lease is for approximately 19,400 square feet.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">During the fourth quarter of 2016, we signed a lease agreement for a new facility located near Munich, Germany which was effective March 1, 2017 and extends the lease through February 28, 2022.&#160; This lease is for approximately 4,895 square feet.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have purchase obligations for inventory and production costs as well as other obligations such as capital expenditures, service contracts, marketing, and development agreements.&#160; Arrangements are considered purchase obligations if a contract specifies all significant terms, including fixed or minimum quantities to be purchased, a pricing structure and approximate timing of the transaction.&#160; Most arrangements are cancelable without a significant penalty, and with short notice, typically less than 90 days.&#160; At June 30, 2020, the purchase commitments and other obligations totaled $1.2 million of which all but $228,000 are expected to be paid over the next twelve months.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">As of June 30, 2020, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management&#8217;s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position.&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Basic earnings per share is calculated based on the weighted average number of common shares outstanding during each period.&#160; Diluted earnings per share is calculated based on these same weighted average shares outstanding plus the effect of potential shares issuable upon assumed exercise of stock options based on the treasury stock method.&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Potential shares issuable upon the exercise of stock options are excluded from the calculation of diluted earnings per share to the extent their effect would be anti-dilutive.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0">The following table sets forth the computation of basic and diluted earnings per share:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 8pt">(in thousands except per share data)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Numerator for basic and diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 40%; font-size: 8pt; text-align: left">&#160;&#160;&#160;&#160;&#160;&#160;Net income (loss)</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">(1,057</td><td style="width: 1%; font-size: 8pt; text-align: left">)</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">127</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">(1,611</td><td style="width: 1%; font-size: 8pt; text-align: left">)</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">153</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Denominator for basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;Weighted-average shares</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,302</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,257</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,261</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,280</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Employee stock options and awards</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">46</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">75</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">51</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">95</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Denominator for diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;Adjusted weighted-average shares &#38;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left; padding-bottom: 2.5pt">&#160;&#160;&#160;&#160;&#160;&#160;assumed conversions of stock options</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,348</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,332</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,312</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,375</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Basic and diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">&#160;&#160;&#160;&#160;&#160;&#160;Total basic earnings (loss) per share</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.13</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.19</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">&#160;&#160;&#160;&#160;&#160;&#160;Total diluted earnings (loss) per share</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.13</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.19</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Weighted average options to purchase 25,000 shares for both the three and six month periods ending June 30, 2020 and weighted average options to purchase 35,422 and 30,240 shares for the three and six months ending June 30, 2019, respectively, were excluded from the computation of diluted earnings per share for the periods then ended because the options were anti-dilutive.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">For share-based awards granted, we have recognized compensation expense based on the estimated grant date fair value method.&#160; For these awards we have recognized compensation expense using a straight-line amortization method reduced for estimated forfeitures. &#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0 0 10pt">The impact on our results of operations of recording share-based compensation, net of forfeitures, for the three and six months ended June 30, 2020 and 2019, respectively, were as follows:</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">(in thousands)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 40%; font-size: 8pt; text-align: left">Cost of goods sold</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">15</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">10</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">21</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">16</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Research and development</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">132</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">103</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">196</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">166</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Selling, general and administrative</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">334</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">251</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">513</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">469</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 2.5pt">Total share-based compensation</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">481</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">364</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">730</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">651</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Equity awards granted during the three and six months ended June 30, 2020 and 2019 were as follows:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 40%; font-size: 8pt; text-align: justify">Restricted Stock Units</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">376,200</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">276,700</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">376,200</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">276,700</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: justify">Stock Options</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">&#8212;&#160;&#160;</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">25,000</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">&#8212;&#160;&#160;</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">25,000</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Non-employee directors Restricted Stock Units (&#8220;RSU&#8217;s&#8221;) vest over one year and options vest over three years and have a six-year exercise period.&#160; Employee RSU&#8217;s typically vest over four years and employee Non-Qualified stock options typically vest quarterly over 4 years and have a six-year exercise period.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The remaining unamortized expected future equity compensation expense and remaining amortization period associated with unvested option grants, restricted stock awards and restricted stock unit awards at June 30, 2020 are:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,<br /> 2020</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; text-align: left">Unamortized future equity compensation expense (in thousands)</td><td style="width: 10%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">2,731</td><td style="width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Remaining weighted average amortization period (in years)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2.63</td><td style="text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line single-option method.&#160; Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.&#160; Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.&#160; Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.&#160; A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.&#160; The CARES Act, enacted in Q1 2020, accelerated the AMT credit refund of $640,000 to be a current asset instead of non-current.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">None.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>December 31,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: left">Raw material</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">2,122</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">2,416</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">Work-in-process</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,667</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,832</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Finished goods</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">942</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">772</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; padding-bottom: 2.5pt">Inventories</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">4,731</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">5,020</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>December 31,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: left">Lease liability - short term</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">692</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">678</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Product warranty</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">341</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">367</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Sales return reserve</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">67</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">77</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Other taxes</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">98</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">126</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; padding-bottom: 1pt">Other</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">61</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">124</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 2.5pt">Other accrued liabilities</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,259</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,372</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt"><b>&#160;</b></td><td style="padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,<br /> 2020</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">(in thousands)</td><td style="font-size: 12pt">&#160;</td> <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 70%; text-align: left">Liability, beginning balance</td><td style="width: 10%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">367</td><td style="width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Net expenses</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">341</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Warranty claims</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">(341</td><td style="text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Accrual revisions</td><td style="padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(26</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Liability, ending balance</td><td style="padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">341</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 8pt">(in thousands except per share data)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Numerator for basic and diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 40%; font-size: 8pt; text-align: left">&#160;&#160;&#160;&#160;&#160;&#160;Net income (loss)</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">(1,057</td><td style="width: 1%; font-size: 8pt; text-align: left">)</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">127</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">(1,611</td><td style="width: 1%; font-size: 8pt; text-align: left">)</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">153</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Denominator for basic</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;Weighted-average shares</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,302</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,257</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,261</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">8,280</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Employee stock options and awards</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">46</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">75</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">51</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">95</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Denominator for diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">&#160;&#160;&#160;&#160;&#160;&#160;Adjusted weighted-average shares &#38;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left; padding-bottom: 2.5pt">&#160;&#160;&#160;&#160;&#160;&#160;assumed conversions of stock options</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,348</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,332</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,312</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">8,375</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Basic and diluted</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">earnings (loss) per share:</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">&#160;&#160;&#160;&#160;&#160;&#160;Total basic earnings (loss) per share</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.13</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.19</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">&#160;&#160;&#160;&#160;&#160;&#160;Total diluted earnings (loss) per share</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.13</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">(0.19</td><td style="font-size: 8pt; text-align: left">)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">$</td><td style="font-size: 8pt; text-align: right">0.02</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt">(in thousands)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 40%; font-size: 8pt; text-align: left">Cost of goods sold</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">15</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">10</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">21</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 10%; font-size: 8pt; text-align: right">16</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Research and development</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">132</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">103</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">196</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">166</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Selling, general and administrative</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">334</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">251</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">513</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">469</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 2.5pt">Total share-based compensation</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">481</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">364</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">730</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">651</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="7" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 40%; font-size: 8pt; text-align: justify">Restricted Stock Units</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">376,200</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">276,700</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">376,200</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 3%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 10%; font-size: 8pt; text-align: right">276,700</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: justify">Stock Options</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">&#8212;&#160;&#160;</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">25,000</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">&#8212;&#160;&#160;</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">25,000</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td style="font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,<br /> 2020</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; text-align: left">Unamortized future equity compensation expense (in thousands)</td><td style="width: 10%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">2,731</td><td style="width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Remaining weighted average amortization period (in years)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2.63</td><td style="text-align: left">&#160;</td></tr> </table> -.2060 -.3010 -.0740 -.0310 -.2020 -.3000 -.0680 -.0240 5606000 5666000 778000 905000 367000 341000 341000 341000 26000 381000 711000 317000 91000 83000 141000 1724000 198000 1526000 P3Y29D .0500 326000 164000 16000 8000 1200000 228000 51 95 46 75 8261 8280 8302 8257 8312 8375 8348 8332 25000 30240 25000 35422 0 25000 0 25000 376200 276700 376200 276700 2731000 P2Y7M17D 374000 189000 <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-size: 8pt"><b>Net sales by type</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Change</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Change</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 8pt">(in thousands)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="2">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="2">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 42%; font-size: 8pt; text-align: left">Equipment Sales</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">2,476</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 8pt; text-align: right">(30.0%)</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">3,537</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">5,063</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 8pt; text-align: right">(30.1%)</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">7,247</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Adapter Sales</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,324</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">(6.8%)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,421</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">2,669</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">(7.4%)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">2,882</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Software and Maintenance Sales</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">855</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">(2.4%)</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">876</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">1,708</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">(3.1%)</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">1,763</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; padding-bottom: 2.5pt">Total</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">4,655</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">(20.2%)</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">5,834</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">9,440</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">(20.6%)</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">11,892</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Topic 606 provides a single, principles-based five-step model to be applied to all contracts with customers.&#160; It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer. &#160;&#160;&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We have elected the practical expedient to expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.&#160; During 2020 and 2019, the impact of capitalization of incremental costs for obtaining contracts was immaterial.&#160; We have made a sales tax policy election to exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.&#160; We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.&#160; These systems are standard products with published product specifications and are configurable with standard options.&#160; The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.&#160; Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.&#160; This considers the complexity, skill and training needed as well as customer expectations regarding installation.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We enter into arrangements with multiple performance obligations that arise during the sale of a system that includes an installation component, a service and support component and a software maintenance component.&#160; The transaction price is allocated to the separate performance obligations on relative standalone sales price.&#160; We allocate the transaction price of each element based on relative selling prices.&#160; Relative selling price is based on the selling price of the standalone system.&#160; For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.&#160; For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.&#160; Revenue is recognized on the system sale based on shipping terms, installation revenue is recognized after the installation is performed, and hardware service and support and software maintenance revenue is recognized ratably over the term of the agreement, typically one year.&#160; Deferred revenue includes service, support and maintenance contracts and represents the undelivered performance obligation of agreements that are typically for one year.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We recognize revenue when there is an approved contract that both parties are committed to perform, both parties&#8217; rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer&#8217;s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.&#160; We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.&#160; Payment terms are generally 30 days from shipment.&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">We transfer certain products out of service from their internal use and make them available for sale.&#160; The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.&#160; Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.&#160; These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.&#160; The transfer amount is the product unit&#8217;s net book value and the sale transaction is accounted for as revenue and cost of goods sold.</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">The following table represents our revenues by major categories:</p> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td><b>&#160;</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Three Months Ended</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="10" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Six Months Ended</b></td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-size: 8pt"><b>Net sales by type</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Change</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="2" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Change</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom"> <td style="font-size: 8pt">(in thousands)</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="2">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td><td>&#160;</td> <td colspan="2">&#160;</td><td>&#160;</td> <td colspan="3">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 42%; font-size: 8pt; text-align: left">Equipment Sales</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">2,476</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 8pt; text-align: right">(30.0%)</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">3,537</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">5,063</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 6%; font-size: 8pt; text-align: right">(30.1%)</td><td style="width: 2%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 6%; font-size: 8pt; text-align: right">7,247</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Adapter Sales</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,324</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">(6.8%)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,421</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">2,669</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">(7.4%)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">2,882</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left; padding-bottom: 1pt">Software and Maintenance Sales</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">855</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">(2.4%)</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">876</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">1,708</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">(3.1%)</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">1,763</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; padding-bottom: 2.5pt">Total</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">4,655</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">(20.2%)</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">5,834</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">9,440</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">(20.6%)</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">11,892</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <p style="font: 8pt Times New Roman, Times, Serif; margin: 0; text-align: justify; color: white">&#160;</p> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>June 30,<br /> 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>December 31,<br /> 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: justify">Leasehold improvements</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">390</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">395</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: justify">Equipment</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">5,666</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">5,606</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: justify; padding-bottom: 1pt">Sales&#160;demonstration&#160;equipment&#160;&#160;&#160;&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">905</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">778</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 5.4pt">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">6,961</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">6,779</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: justify; padding-bottom: 1pt">Less&#160;accumulated&#160;depreciation</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">5,359</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: right">5,111</td><td style="padding-bottom: 1pt; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: justify; padding-bottom: 2.5pt">Property and equipment, net</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,602</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 8pt; text-align: right">1,668</td><td style="padding-bottom: 2.5pt; font-size: 8pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 8pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td colspan="2" style="text-align: left; font-size: 12pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; text-align: center"><b>Operating<br /> Lease Commitments</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><font style="font-size: 8pt">(in thousands) </font></td><td style="text-align: left">&#160;</td><td style="font-size: 12pt">&#160;</td> <td style="font-size: 12pt; text-align: left">&#160;</td><td style="font-size: 12pt; text-align: right">&#160;</td><td style="font-size: 12pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 44%; text-align: left"><font style="font-size: 8pt">2020 (remaining)</font></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 43%; text-align: right">381</td><td style="width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">2021</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">711</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2022</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">317</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">2023</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">91</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2024</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">83</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><font style="font-size: 8pt">Thereafter</font></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">141</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><font style="font-size: 8pt">Total</font></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,724</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><font style="font-size: 8pt">&#160;&#160;Less Imputed interest</font></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(198</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"><font style="font-size: 8pt">Total operating lease liabilities</font></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,526</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr> </table> <table cellpadding="0" cellspacing="0" style="font: 12pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td>&#160;</td><td style="font-size: 8pt; padding-bottom: 1pt">&#160;</td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Balance at June 30, 2020</b></td><td style="font-size: 8pt; padding-bottom: 1pt"><b>&#160;</b></td> <td colspan="3" style="border-bottom: Black 1pt solid; font-size: 8pt; text-align: center"><b>Balance at December 31, 2019</b></td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">(in thousands)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 56%; font-size: 8pt; text-align: left">Right-of-use assets (Long-term other assets)</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">1,297</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td><td style="width: 8%; font-size: 8pt">&#160;</td> <td style="width: 1%; font-size: 8pt; text-align: left">$</td><td style="width: 12%; font-size: 8pt; text-align: right">1,574</td><td style="width: 1%; font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 8pt; text-align: left">Lease liability-short term (Other accrued liabilities)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">692</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">678</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 8pt; text-align: left">Lease liability-long term (Long-term other payables)</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">834</td><td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt">&#160;</td> <td style="font-size: 8pt; text-align: left">&#160;</td><td style="font-size: 8pt; text-align: right">1,178</td><td style="font-size: 8pt; text-align: left">&#160;</td></tr> </table> EX-101.SCH 3 daio-20200630.xsd XBRL SCHEMA FILE 00000001 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00000002 - Statement - CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000003 - Statement - CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (in thousands, except per share amounts) (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000005 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (in thousands) (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000006 - Statement - CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 00000007 - Statement - CONSOLIDATED STATEMENT OF CASH FLOWS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000008 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION link:presentationLink link:calculationLink link:definitionLink 00000009 - Disclosure - NOTE 2 - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 00000010 - Disclosure - NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET link:presentationLink link:calculationLink link:definitionLink 00000011 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES link:presentationLink link:calculationLink link:definitionLink 00000012 - Disclosure - NOTE 5 - LEASES link:presentationLink link:calculationLink link:definitionLink 00000013 - Disclosure - NOTE 6 - OTHER COMMITMENTS link:presentationLink link:calculationLink link:definitionLink 00000014 - Disclosure - NOTE 7 - CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 00000015 - Disclosure - NOTE 8 - EARNINGS PER SHARE link:presentationLink link:calculationLink link:definitionLink 00000016 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 00000017 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION (Policies) link:presentationLink link:calculationLink link:definitionLink 00000018 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION (Tables) link:presentationLink link:calculationLink link:definitionLink 00000019 - Disclosure - NOTE 2 - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 00000020 - Disclosure - NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 00000021 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 00000022 - Disclosure - NOTE 5 - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 00000023 - Disclosure - NOTE 8 - EARNINGS PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 00000024 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 00000025 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION (Details) link:presentationLink link:calculationLink link:definitionLink 00000026 - Disclosure - NOTE 2 - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 00000027 - Disclosure - NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Details) (in thousands) link:presentationLink link:calculationLink link:definitionLink 00000028 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES (Details) (in thousands) link:presentationLink link:calculationLink link:definitionLink 00000029 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES (Details 1) (in thousands) link:presentationLink link:calculationLink link:definitionLink 00000030 - Disclosure - NOTE 5 - LEASES (Details) (in thousands) link:presentationLink link:calculationLink link:definitionLink 00000031 - Disclosure - NOTE 5 - LEASES (Details 1) (in thousands) link:presentationLink link:calculationLink link:definitionLink 00000032 - Disclosure - NOTE 5 - LEASES (Details Narrative) (in thousands) link:presentationLink link:calculationLink link:definitionLink 00000033 - Disclosure - NOTE 6 - OTHER COMMITMENTS (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000034 - Disclosure - NOTE 8 - EARNINGS PER SHARE (In thousands, except per share data) (Details) link:presentationLink link:calculationLink link:definitionLink 00000035 - Disclosure - NOTE 8 - EARNINGS PER SHARE (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000036 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Details) (in thousands, except per share data) link:presentationLink link:calculationLink link:definitionLink 00000037 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Details 1) link:presentationLink link:calculationLink link:definitionLink 00000038 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Details 2) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 4 daio-20200630_cal.xml XBRL CALCULATION FILE EX-101.DEF 5 daio-20200630_def.xml XBRL DEFINITION FILE EX-101.LAB 6 daio-20200630_lab.xml XBRL LABEL FILE Income Statement Location [Axis] Cost of Goods Sold Research and Development Selling, General and Administrative Equity Components [Axis] Common Stock Retained Earnings (Deficit) Accumulated Other Comprehensive Income (Loss) Product and Service [Axis] Equipment Sales Adapter Sales Software and Maintenance Class of Stock [Axis] Series A Junior Participating Cover [Abstract] Entity Registrant Name Entity Central Index Key Document Type Document Period End Date Amendment Flag Current Fiscal Year End Date Is Entity's Reporting Status Current? Entity Filer Category Entity Emerging Growth Company Entity Small Business Entity Shell Company Entity Interactive Data Current Entity Incorporation, State or Country Code Entity File Number Entity Common Stock, Shares Outstanding Document Fiscal Period Focus Document Fiscal Year Focus Statement of Financial Position [Abstract] ASSETS CURRENT ASSETS: Cash and cash equivalents Trade accounts receivable, net of allowance for doubtful accounts of $73 and $80, respectively Inventories Other current assets Total current assets Property, plant and equipment - net Income tax receivable Other assets Total assets LIABILITIES AND STOCKHOLDERS' EQUITY CURRENT LIABILITIES: Accounts payable Accrued compensation Deferred revenue Other accrued liabilities Income taxes payable Total current liabilities Operating lease liabilities Long-term other payables Commitments STOCKHOLDERS' EQUITY Preferred stock - authorized, 5,000,000 shares, including 200,000 shares of Series A Junior Participating, issued and outstanding, none Common stock, at stated value - authorized, 30,000,000 shares, Issued and outstanding, 8,390,943 shares as of June 30, 2020 and 8,212,748 shares as of December 31, 2019 Accumulated earnings Accumulated other comprehensive income (loss) Total stockholders' equity Total liabilities and stockholders' equity Statement [Table] Statement [Line Items] Trade accounts receivable, net of allowance Preferred stock, authorized shares Preferred stock, issued shares Preferred stock, outstanding shares Common stock, authorized shares Common stock, issued shares Common stock, outstanding shares Income Statement [Abstract] Net sales Cost of goods sold Gross margin OPERATING EXPENSES: Research and development Selling, general and administrative Total operating expenses Operating income (loss) NON-OPERATING INCOME (LOSS): Interest income Gain on sale of assets Foreign currency transaction gain (loss) Total non-operating income (loss) Income (loss) before income taxes Income tax (expense) benefit Net income (loss) Basic earnings (loss) per share Diluted earnings (loss) per share Weighted-average basic shares (in thousands) Weighted-average diluted shares (in thousands) Statement of Other Comprehensive Income [Abstract] Net income (loss) OTHER COMPREHENSIVE INCOME (LOSS): Foreign currency translation gain (loss) Comprehensive income (loss) Beginning balance, shares Beginning balance, amount Stock options exercised, shares Stock options exercised, amount Repurchased shares, shares Repurchased shares, amount Stock awards issued, net of tax withholding, shares Stock awards issued, net of tax withholding, amount Issuance of stock through Employee Stock Purchase Plan, shares Issuance of stock through Employee Stock Purchase Plan, amount Share-based compensation Other comprehensive income (loss) Ending balance, shares Ending balance, amount Statement of Cash Flows [Abstract] CASH FLOWS FROM OPERATING ACTIVITIES: Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities: Depreciation and amortization Gain on sale of assets Equipment transferred to cost of goods sold Share-based compensation Net change in: Trade accounts receivable Inventories Other current assets Accounts payable and accrued liabilities Deferred revenue Other long-term liabilities Deposits and other long-term assets Net cash provided by (used in) operating activities CASH FLOWS FROM INVESTING ACTIVITIES: Purchases of property, plant and equipment Net proceeds from sale of assets Cash provided by (used in) investing activities CASH FLOWS FROM FINANCING ACTIVITIES: Net proceeds from issuance of common stock, less payments for shares withheld to cover tax Repurchase of common stock Cash provided by (used in) financing activities Increase (decrease) in cash and cash equivalents Effects of exchange rate changes on cash Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Supplemental disclosure of cash flow information: Cash paid during the period for: income taxes Organization, Consolidation and Presentation of Financial Statements [Abstract] NOTE 1 - FINANCIAL STATEMENT PREPARATION Inventory Disclosure [Abstract] NOTE 2 - INVENTORIES Property, Plant and Equipment [Abstract] NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET Accrued Liabilities [Abstract] NOTE 4 - OTHER ACCRUED LIABILITIES Leases [Abstract] NOTE 5 - LEASES Commitments and Contingencies Disclosure [Abstract] NOTE 6 - OTHER COMMITMENTS NOTE 7 - CONTINGENCIES Earnings Per Share [Abstract] NOTE 8 - EARNINGS PER SHARE Share-based Payment Arrangement, Noncash Expense [Abstract] NOTE 9 - SHARE-BASED COMPENSATION Revenue Recognition Share-Based Compensation Income Tax Recently Adopted Accounting Pronouncements Disaggregation of revenue Inventories Property, plant, and equipment, net Other accrued liabilities Product warranty liability Operating lease commitments Supplemental balance sheet information related to leases Earnings per share Impact on operations of recording share-based compensation Equity award activity Future equity compensation expense Revenues Change in revenue Raw material Work-in-process Finished goods Inventories Leasehold improvements Equipment Sale demonstration equipment Property and equipment gross Less accumulated depreciation Property and equipment, net Lease liability - short term Product warranty Sales return reserve Other taxes Other Other accrued liabilities Liability, beginning balance Net expenses Warranty claims Accrual revisions Liability, ending balance 2020 (remaining) 2021 2022 2023 2024 Thereafter Total Less: imputed interest Total operating lease liability Right-of-use assets (Long-term other assets) Lease liability-short term (Other accrued liabilities) Lease liability-long term (Long-term other payables) Cash paid for operating lease liabilities Weighted average remaining lease term Weighted average discount rate Operating lease costs Short-term lease costs Purchase and other obligations After 2019 Numerator for basic and diluted earnings per share: Net income (loss) Denominator for basic earnings per share: weighted average shares (in thousands) Employee stock options and awards (in thousands) Denominator for diluted earnings per share: adjusted weighted-average shares and assumed conversions of stock options (in thousands) Total basic earnings (loss) per share Total diluted earnings (loss) per share Anti dilutive options to purchase shares Total share-based compensation Restricted stock units Stock options Unamortized future equity compensation expense Remaining weighted average amortization period Custom Element. Equipment Transferred To Cost Of Goods Sold. Custom Element. Custom Element. Assets, Current Assets Liabilities, Current Stockholders' Equity Attributable to Parent Liabilities and Equity Gross Profit Operating Expenses Operating Income (Loss) Nonoperating Income (Expense) Income Tax Expense (Benefit) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Shares, Issued Increase (Decrease) in Accounts Receivable Increase (Decrease) in Inventories Increase (Decrease) in Other Current Assets Increase (Decrease) in Deferred Revenue Increase (Decrease) in Deposit Assets Net Cash Provided by (Used in) Operating Activities Payments to Acquire Property, Plant, and Equipment Net Cash Provided by (Used in) Investing Activities Payments for Repurchase of Common Stock Net Cash Provided by (Used in) Financing Activities Cash and Cash Equivalents, Period Increase (Decrease) Schedule of Inventory, Current [Table Text Block] Schedule of Accrued Liabilities [Table Text Block] Property, Plant and Equipment, Gross Accrued Liabilities Standard and Extended Product Warranty Accrual, Decrease for Payments Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Lessee, Operating Lease, Liability, to be Paid Lessee, Operating Lease, Liability, Undiscounted Excess Amount Operating Lease, Liability EX-101.PRE 7 daio-20200630_pre.xml XBRL PRESENTATION FILE EX-31 8 exhibit311.htm exhibit311.htm - Generated by SEC Publisher for SEC Filing

Exhibit 31.1

CERTIFICATION        

 

I, Anthony Ambrose, certify that:

1)           I have reviewed this quarterly report on Form 10-Q of Data I/O Corporation;

2)           Based on my knowledge, this report does not contain any untrue statement of 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 quarterly report;

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

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 quarterly 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 quarterly report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this quarterly report based on such evaluation; and

d)           Disclosed in this quarterly 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.

 

DATED:   August 12, 2020

 

/s/ Anthony Ambrose

Anthony Ambrose

Chief Executive Officer

(Principal Executive Officer)

 

26

 

 

EX-31 9 exhibit312.htm exhibit312.htm - Generated by SEC Publisher for SEC Filing

Exhibit 31.2

 

CERTIFICATION

 

I, Joel S. Hatlen, certify that:

1)           I have reviewed this quarterly report on Form 10-Q of Data I/O Corporation;

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 quarterly report;

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

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 quarterly 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 quarterly report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this quarterly report based on such evaluation; and

d)           Disclosed in this quarterly 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.

 

DATED:   August 12, 2020

 

 /s/ Joel S. Hatlen  

Joel S. Hatlen

Chief Financial Officer

(Principal Financial Officer)

 

 

27

 

 

EX-32 10 exhibit321.htm exhibit321.htm - Generated by SEC Publisher for SEC Filing

Exhibit 32.1

 

Certification by Chief Executive Officer

Pursuant to 18 U.S.C. Section 1350

As Adopted Pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

 

In connection with the quarterly report of Data I/O Corporation (the “Company”) on Form 10-Q for the period ended June 30, 2020 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Anthony Ambrose, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

 

(1)          The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 as amended; and

(2)          The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

/s/ Anthony Ambrose

Anthony Ambrose

Chief Executive Officer

(Principal Executive Officer)

August 12, 2020

 

28

 

 

EX-32 11 exhibit322.htm exhibit322.htm - Generated by SEC Publisher for SEC Filing

Exhibit 32.2

 

Certification by Chief Financial Officer

Pursuant to 18 U.S.C. Section 1350

As Adopted Pursuant to

Section 906 of the Sarbanes-Oxley Act of 2002

 

In connection with the quarterly report of Data I/O Corporation (the “Company”) on Form 10-Q for the period ended June 30, 2020 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Joel S. Hatlen, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:

 

(1)          The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 as amended; and

(2)          The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

 /s/ Joel S. Hatlen  

Joel S. Hatlen

Chief Financial Officer

(Principal Financial Officer)

August 12, 2020

29

 

 

XML 12 R1.htm IDEA: XBRL DOCUMENT v3.20.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2020
Jul. 30, 2020
Cover [Abstract]    
Entity Registrant Name DATA I/O CORP  
Entity Central Index Key 0000351998  
Document Type 10-Q  
Document Period End Date Jun. 30, 2020  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Is Entity's Reporting Status Current? Yes  
Entity Filer Category Non-accelerated Filer  
Entity Emerging Growth Company false  
Entity Small Business true  
Entity Shell Company false  
Entity Interactive Data Current Yes  
Entity Incorporation, State or Country Code WA  
Entity File Number 0-10394  
Entity Common Stock, Shares Outstanding   8,390,943
Document Fiscal Period Focus Q2  
Document Fiscal Year Focus 2020  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Unaudited) - USD ($)
$ in Thousands
Jun. 30, 2020
Dec. 31, 2019
CURRENT ASSETS:    
Cash and cash equivalents $ 13,273 $ 13,936
Trade accounts receivable, net of allowance for doubtful accounts of $73 and $80, respectively 2,840 4,099
Inventories 4,731 5,020
Other current assets 2,000 924
Total current assets 22,844 23,979
Property, plant and equipment - net 1,602 1,668
Income tax receivable 0 640
Other assets 1,717 1,994
Total assets 26,163 28,281
CURRENT LIABILITIES:    
Accounts payable 908 1,151
Accrued compensation 1,304 1,541
Deferred revenue 1,334 1,387
Other accrued liabilities 1,259 1,372
Income taxes payable 64 31
Total current liabilities 4,869 5,482
Operating lease liabilities 834 1,178
Long-term other payables 150 91
Commitments 0 0
STOCKHOLDERS' EQUITY    
Preferred stock - authorized, 5,000,000 shares, including 200,000 shares of Series A Junior Participating, issued and outstanding, none 0 0
Common stock, at stated value - authorized, 30,000,000 shares, Issued and outstanding, 8,390,943 shares as of June 30, 2020 and 8,212,748 shares as of December 31, 2019 19,319 18,748
Accumulated earnings 897 2,508
Accumulated other comprehensive income (loss) 94 274
Total stockholders' equity 20,310 21,530
Total liabilities and stockholders' equity $ 26,163 $ 28,281
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Parenthetical) - USD ($)
$ in Thousands
Jun. 30, 2020
Dec. 31, 2019
CURRENT ASSETS:    
Trade accounts receivable, net of allowance $ 73 $ 80
STOCKHOLDERS' EQUITY    
Preferred stock, authorized shares 5,000,000 5,000,000
Preferred stock, issued shares 0 0
Preferred stock, outstanding shares 0 0
Common stock, authorized shares 30,000,000 30,000,000
Common stock, issued shares 8,390,943 8,212,748
Common stock, outstanding shares 8,390,943 8,212,748
Series A Junior Participating    
STOCKHOLDERS' EQUITY    
Preferred stock, authorized shares 200,000 200,000
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED STATEMENTS OF OPERATIONS (in thousands, except per share amounts) (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Income Statement [Abstract]        
Net sales $ 4,655 $ 5,834 $ 9,440 $ 11,892
Cost of goods sold 2,216 2,250 4,217 4,623
Gross margin 2,439 3,584 5,223 7,269
OPERATING EXPENSES:        
Research and development 1,614 1,680 3,196 3,361
Selling, general and administrative 1,703 1,829 3,514 3,803
Total operating expenses 3,317 3,509 6,710 7,164
Operating income (loss) (878) 75 (1,487) 105
NON-OPERATING INCOME (LOSS):        
Interest income 1 10 9 22
Gain on sale of assets 0 0 0 60
Foreign currency transaction gain (loss) (83) 69 (31) (36)
Total non-operating income (loss) (82) 79 (22) 46
Income (loss) before income taxes (960) 154 (1,509) 151
Income tax (expense) benefit (97) (27) (102) 2
Net income (loss) $ (1,057) $ 127 $ (1,611) $ 153
Basic earnings (loss) per share $ (0.13) $ 0.02 $ (0.19) $ 0.02
Diluted earnings (loss) per share $ (0.13) $ 0.02 $ (0.19) $ 0.02
Weighted-average basic shares (in thousands) 8,302 8,257 8,261 8,280
Weighted-average diluted shares (in thousands) 8,302 8,332 8,261 8,375
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (in thousands) (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Statement of Other Comprehensive Income [Abstract]        
Net income (loss) $ (1,057) $ 127 $ (1,611) $ 153
OTHER COMPREHENSIVE INCOME (LOSS):        
Foreign currency translation gain (loss) 85 (118) (180) 10
Comprehensive income (loss) $ (972) $ 9 $ (1,791) $ 163
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Retained Earnings (Deficit)
Accumulated Other Comprehensive Income (Loss)
Total
Beginning balance, shares at Dec. 31, 2018 8,338,628      
Beginning balance, amount at Dec. 31, 2018 $ 19,254 $ 3,695 $ 408 $ 23,357
Repurchased shares, shares (57,612)      
Repurchased shares, amount $ (313)     (313)
Stock awards issued, net of tax withholding, shares 4,046      
Stock awards issued, net of tax withholding, amount $ (9)     (9)
Issuance of stock through Employee Stock Purchase Plan, shares 2,763      
Issuance of stock through Employee Stock Purchase Plan, amount $ 15     15
Share-based compensation 287     287
Net income (loss) 26 26
Other comprehensive income (loss)     128 128
Ending balance, shares at Mar. 31, 2019 8,287,825      
Ending balance, amount at Mar. 31, 2019 $ 19,235 3,721 536 23,492
Beginning balance, shares at Dec. 31, 2018 8,338,628      
Beginning balance, amount at Dec. 31, 2018 $ 19,254 3,695 408 23,357
Net income (loss)       153
Ending balance, shares at Jun. 30, 2019 8,261,702      
Ending balance, amount at Jun. 30, 2019 $ 18,463 3,848 418 22,729
Beginning balance, shares at Mar. 31, 2019 8,287,825      
Beginning balance, amount at Mar. 31, 2019 $ 19,235 3,721 536 23,492
Repurchased shares, shares (188,194)      
Repurchased shares, amount $ (908)     (908)
Stock awards issued, net of tax withholding, shares 162,071      
Stock awards issued, net of tax withholding, amount $ (228)     (228)
Share-based compensation 364     364
Net income (loss) 127 127
Other comprehensive income (loss)     (118) (118)
Ending balance, shares at Jun. 30, 2019 8,261,702      
Ending balance, amount at Jun. 30, 2019 $ 18,463 3,848 418 22,729
Beginning balance, shares at Dec. 31, 2019 8,212,748      
Beginning balance, amount at Dec. 31, 2019 $ 18,748 2,508 274 21,530
Stock awards issued, net of tax withholding, shares 5,190      
Stock awards issued, net of tax withholding, amount $ (10)     (10)
Issuance of stock through Employee Stock Purchase Plan, shares 3,509      
Issuance of stock through Employee Stock Purchase Plan, amount $ 14     14
Share-based compensation 249     249
Net income (loss) (554) (554)
Other comprehensive income (loss)     (265) (265)
Ending balance, shares at Mar. 31, 2020 8,221,447      
Ending balance, amount at Mar. 31, 2020 $ 19,001 1,954 9 20,964
Beginning balance, shares at Dec. 31, 2019 8,212,748      
Beginning balance, amount at Dec. 31, 2019 $ 18,748 2,508 274 21,530
Net income (loss)       (1,611)
Ending balance, shares at Jun. 30, 2020 8,390,943      
Ending balance, amount at Jun. 30, 2020 $ 19,319 897 94 20,310
Beginning balance, shares at Mar. 31, 2020 8,221,447      
Beginning balance, amount at Mar. 31, 2020 $ 19,001 1,954 9 20,964
Stock awards issued, net of tax withholding, shares 169,496      
Stock awards issued, net of tax withholding, amount $ (163)     (163)
Share-based compensation 481     481
Net income (loss) (1,057) (1,057)
Other comprehensive income (loss)     85 85
Ending balance, shares at Jun. 30, 2020 8,390,943      
Ending balance, amount at Jun. 30, 2020 $ 19,319 $ 897 $ 94 $ 20,310
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.20.2
CONSOLIDATED STATEMENT OF CASH FLOWS (Unaudited) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
CASH FLOWS FROM OPERATING ACTIVITIES:    
Net income (loss) $ (1,611) $ 153
Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:    
Depreciation and amortization 446 424
Gain on sale of assets 0 (60)
Equipment transferred to cost of goods sold 52 (26)
Share-based compensation 730 651
Net change in:    
Trade accounts receivable 1,262 (63)
Inventories 273 (28)
Other current assets (1,076) 3
Accounts payable and accrued liabilities (541) (2,223)
Deferred revenue (77) (62)
Other long-term liabilities (264) (312)
Deposits and other long-term assets 912 88
Net cash provided by (used in) operating activities 106 (1,455)
CASH FLOWS FROM INVESTING ACTIVITIES:    
Purchases of property, plant and equipment (432) (365)
Net proceeds from sale of assets 0 60
Cash provided by (used in) investing activities (432) (305)
CASH FLOWS FROM FINANCING ACTIVITIES:    
Net proceeds from issuance of common stock, less payments for shares withheld to cover tax (159) (222)
Repurchase of common stock 0 (1,220)
Cash provided by (used in) financing activities (159) (1,442)
Increase (decrease) in cash and cash equivalents (485) (3,202)
Effects of exchange rate changes on cash (178) 24
Cash and cash equivalents at beginning of period 13,936 18,343
Cash and cash equivalents at end of period 13,273 15,165
Supplemental disclosure of cash flow information:    
Cash paid during the period for: income taxes $ 69 $ 101
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 1 - FINANCIAL STATEMENT PREPARATION
6 Months Ended
Jun. 30, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
NOTE 1 - FINANCIAL STATEMENT PREPARATION

Data I/O Corporation (“Data I/O”, “We”, “Our”, “Us”) prepared the financial statements as of June 30, 2020 and June 30, 2019 according to the rules and regulations of the Securities and Exchange Commission ("SEC").  These statements are unaudited but, in the opinion of management, include all adjustments (consisting of normal recurring adjustments and accruals) necessary to present fairly the results for the periods presented.  The balance sheet at December 31, 2019 has been derived from the audited financial statements at that date.  We have condensed or omitted certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America according to such SEC rules and regulations.  Operating results for the six months ended June 30, 2020 are not necessarily indicative of the results that may be expected for the year ending December 31, 2020.  These financial statements should be read in conjunction with the annual audited financial statements and the accompanying notes included in our Form 10-K for the year ended December 31, 2019.

 

Revenue Recognition

 

Topic 606 provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.    

 

We have elected the practical expedient to expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2020 and 2019, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We have made a sales tax policy election to exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that includes an installation component, a service and support component and a software maintenance component.  The transaction price is allocated to the separate performance obligations on relative standalone sales price.  We allocate the transaction price of each element based on relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system sale based on shipping terms, installation revenue is recognized after the installation is performed, and hardware service and support and software maintenance revenue is recognized ratably over the term of the agreement, typically one year.  Deferred revenue includes service, support and maintenance contracts and represents the undelivered performance obligation of agreements that are typically for one year.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties’ rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 days from shipment. 

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value and the sale transaction is accounted for as revenue and cost of goods sold.

 

The following table represents our revenues by major categories:

 

   Three Months Ended  Six Months Ended
Net sales by type  June 30,
2020
  Change  June 30,
2019
  June 30,
2020
  Change  June 30,
2019
(in thousands)                  
Equipment Sales  $2,476    (30.0%)  $3,537   $5,063    (30.1%)  $7,247 
Adapter Sales   1,324    (6.8%)   1,421    2,669    (7.4%)   2,882 
Software and Maintenance Sales   855    (2.4%)   876    1,708    (3.1%)   1,763 
Total  $4,655    (20.2%)  $5,834   $9,440    (20.6%)  $11,892 

 

Share-Based Compensation

 

All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line single-option method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.

 

Income Tax

 

Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.  The CARES Act, enacted in Q1 2020, accelerated the AMT credit refund of $640,000 to be a current asset instead of non-current.

 

Recently Adopted Accounting Pronouncements

 

None.

 

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 2 - INVENTORIES
6 Months Ended
Jun. 30, 2020
Inventory Disclosure [Abstract]  
NOTE 2 - INVENTORIES

Inventories consisted of the following components:

   June 30,
2020
  December 31,
2019
(in thousands)          
Raw material  $2,122   $2,416 
Work-in-process   1,667    1,832 
Finished goods   942    772 
Inventories  $4,731   $5,020 
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET
6 Months Ended
Jun. 30, 2020
Property, Plant and Equipment [Abstract]  
NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET

Property and equipment consisted of the following components:

 

   June 30,
2020
  December 31,
2019
(in thousands)          
Leasehold improvements  $390   $395 
Equipment   5,666    5,606 
Sales demonstration equipment       905    778 
    6,961    6,779 
Less accumulated depreciation   5,359    5,111 
Property and equipment, net  $1,602   $1,668 

 

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 4 - OTHER ACCRUED LIABILITIES
6 Months Ended
Jun. 30, 2020
Accrued Liabilities [Abstract]  
NOTE 4 - OTHER ACCRUED LIABILITIES

Other accrued liabilities consisted of the following components:

 

   June 30,
2020
  December 31,
2019
(in thousands)          
Lease liability - short term  $692   $678 
Product warranty   341    367 
Sales return reserve   67    77 
Other taxes   98    126 
Other   61    124 
Other accrued liabilities  $1,259   $1,372 

 

The changes in our product warranty liability for the six months ending June 30, 2020 are as follows:

 

   June 30,
2020
(in thousands)     
Liability, beginning balance  $367 
Net expenses   341 
Warranty claims   (341)
Accrual revisions   (26)
Liability, ending balance  $341 

 

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 5 - LEASES
6 Months Ended
Jun. 30, 2020
Leases [Abstract]  
NOTE 5 - LEASES

Our leasing arrangements are primarily for facility leases we use to conduct our operations. The following table presents our future lease payments for long-term operating leases as of June 30, 2020:

 

   Operating
Lease Commitments
(in thousands)       
2020 (remaining)   $381 
2021    711 
2022    317 
2023    91 
2024    83 
Thereafter    141 
Total   $1,724 
  Less Imputed interest    (198)
Total operating lease liabilities   $1,526 

 

Cash paid for operating lease liabilities for the three and six months ended June 30, 2020 was $189,000 and $374,000, respectively.  There was one new or modified leases during the six months ended June 30, 2020 included in the lease liability for approximately $15,000 relating to a new three-year automobile lease.

The following table presents supplemental balance sheet information related to leases as of June 30, 2020:

 

   Balance at June 30, 2020  Balance at December 31, 2019
(in thousands)          
Right-of-use assets (Long-term other assets)  $1,297   $1,574 
Lease liability-short term (Other accrued liabilities)   692    678 
Lease liability-long term (Long-term other payables)   834    1,178 

 

At June 30, 2020, the weighted average remaining lease term is 3.08 years and the weighted average discount rate used is 5%.

 

The components of our lease expense for the three and six months ended June 30, 2020 include operating lease costs of $164,000 and $326,000, respectively, and short-term lease costs of $8,000 and $16,000, respectively.

 

Our real estate facility leases are described below:

 

During the third quarter of 2017, we amended our lease agreement, extending the lease for the Redmond, Washington headquarters facility through July 31, 2022.  This lease is for approximately 20,460 square feet.

 

We signed a lease agreement effective November 1, 2015 that extends the lease for a facility located in Shanghai, China through October 31, 2021.  This lease is for approximately 19,400 square feet.

 

During the fourth quarter of 2016, we signed a lease agreement for a new facility located near Munich, Germany which was effective March 1, 2017 and extends the lease through February 28, 2022.  This lease is for approximately 4,895 square feet.

 

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 6 - OTHER COMMITMENTS
6 Months Ended
Jun. 30, 2020
Commitments and Contingencies Disclosure [Abstract]  
NOTE 6 - OTHER COMMITMENTS

We have purchase obligations for inventory and production costs as well as other obligations such as capital expenditures, service contracts, marketing, and development agreements.  Arrangements are considered purchase obligations if a contract specifies all significant terms, including fixed or minimum quantities to be purchased, a pricing structure and approximate timing of the transaction.  Most arrangements are cancelable without a significant penalty, and with short notice, typically less than 90 days.  At June 30, 2020, the purchase commitments and other obligations totaled $1.2 million of which all but $228,000 are expected to be paid over the next twelve months.

 

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 7 - CONTINGENCIES
6 Months Ended
Jun. 30, 2020
Commitments and Contingencies Disclosure [Abstract]  
NOTE 7 - CONTINGENCIES

As of June 30, 2020, we were not a party to any legal proceedings or aware of any indemnification agreement claims, the adverse outcome of which in management’s opinion, individually or in the aggregate, would have a material adverse effect on our results of operations or financial position. 

 

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 8 - EARNINGS PER SHARE
6 Months Ended
Jun. 30, 2020
Earnings Per Share [Abstract]  
NOTE 8 - EARNINGS PER SHARE

Basic earnings per share is calculated based on the weighted average number of common shares outstanding during each period.  Diluted earnings per share is calculated based on these same weighted average shares outstanding plus the effect of potential shares issuable upon assumed exercise of stock options based on the treasury stock method. 

 

Potential shares issuable upon the exercise of stock options are excluded from the calculation of diluted earnings per share to the extent their effect would be anti-dilutive.

 

The following table sets forth the computation of basic and diluted earnings per share:

 

   Three Months Ended  Six Months Ended
   June 30,
2020
  June 30,
2019
  June 30,
2020
  June 30,
2019
(in thousands except per share data)            
Numerator for basic and diluted                    
earnings (loss) per share:                    
      Net income (loss)  $(1,057)  $127   $(1,611)  $153 
                     
Denominator for basic                    
earnings (loss) per share:                    
      Weighted-average shares   8,302    8,257    8,261    8,280 
                     
Employee stock options and awards   46    75    51    95 
                     
Denominator for diluted                    
earnings (loss) per share:                    
      Adjusted weighted-average shares &                    
      assumed conversions of stock options   8,348    8,332    8,312    8,375 
                     
Basic and diluted                    
earnings (loss) per share:                    
      Total basic earnings (loss) per share  $(0.13)  $0.02   $(0.19)  $0.02 
      Total diluted earnings (loss) per share  $(0.13)  $0.02   $(0.19)  $0.02 

 

Weighted average options to purchase 25,000 shares for both the three and six month periods ending June 30, 2020 and weighted average options to purchase 35,422 and 30,240 shares for the three and six months ending June 30, 2019, respectively, were excluded from the computation of diluted earnings per share for the periods then ended because the options were anti-dilutive.

 

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 9 - SHARE-BASED COMPENSATION
6 Months Ended
Jun. 30, 2020
Share-based Payment Arrangement, Noncash Expense [Abstract]  
NOTE 9 - SHARE-BASED COMPENSATION

For share-based awards granted, we have recognized compensation expense based on the estimated grant date fair value method.  For these awards we have recognized compensation expense using a straight-line amortization method reduced for estimated forfeitures.  

 

The impact on our results of operations of recording share-based compensation, net of forfeitures, for the three and six months ended June 30, 2020 and 2019, respectively, were as follows:

   Three Months Ended  Six Months Ended
   June 30,
2020
  June 30,
2019
  June 30,
2020
  June 30,
2019
(in thousands)            
Cost of goods sold  $15   $10   $21   $16 
Research and development   132    103    196    166 
Selling, general and administrative   334    251    513    469 
Total share-based compensation  $481   $364   $730   $651 

 

Equity awards granted during the three and six months ended June 30, 2020 and 2019 were as follows:

 

   Three Months Ended  Six Months Ended
   June 30,
2020
  June 30,
2019
  June 30,
2020
  June 30,
2019
Restricted Stock Units   376,200    276,700    376,200    276,700 
Stock Options   —      25,000    —      25,000 

 

Non-employee directors Restricted Stock Units (“RSU’s”) vest over one year and options vest over three years and have a six-year exercise period.  Employee RSU’s typically vest over four years and employee Non-Qualified stock options typically vest quarterly over 4 years and have a six-year exercise period.

 

The remaining unamortized expected future equity compensation expense and remaining amortization period associated with unvested option grants, restricted stock awards and restricted stock unit awards at June 30, 2020 are:

 

   June 30,
2020
Unamortized future equity compensation expense (in thousands)  $2,731 
Remaining weighted average amortization period (in years)   2.63 

 

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 1 - FINANCIAL STATEMENT PREPARATION (Policies)
6 Months Ended
Jun. 30, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Revenue Recognition

Topic 606 provides a single, principles-based five-step model to be applied to all contracts with customers.  It generally provides for the recognition of revenue in an amount that reflects the consideration to which the Company expects to be entitled, net of allowances for estimated returns, discounts or sales incentives, as well as taxes collected from customers when control over the promised goods or services are transferred to the customer.    

 

We have elected the practical expedient to expense contract acquisition costs, primarily sales commissions, for contracts with terms of one year or less and will capitalize and amortize incremental costs with terms that exceed one year.  During 2020 and 2019, the impact of capitalization of incremental costs for obtaining contracts was immaterial.  We have made a sales tax policy election to exclude sales, use, value added, some excise taxes and other similar taxes from the measurement of the transaction price.

 

We recognize revenue upon transfer of control of the promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services.  We have determined that our programming equipment has reached a point of maturity and stability such that product acceptance can be assured by testing at the factory prior to shipment and that the installation meets the criteria to be a separate performance obligation.  These systems are standard products with published product specifications and are configurable with standard options.  The evidence that these systems could be deemed as accepted was based upon having standardized factory production of the units, results from batteries of tests of product performance to our published specifications, quality inspections and installation standardization, as well as past product operation validation with the customer and the history provided by our installed base of products upon which the current versions were based.

 

The revenue related to products requiring installation that is perfunctory is recognized upon transfer of control of the product to customers, which generally is at the time of shipment.  Installation that is considered perfunctory includes any installation that is expected to be performed by other parties, such as distributors, other vendors, or the customers themselves.  This considers the complexity, skill and training needed as well as customer expectations regarding installation.

 

We enter into arrangements with multiple performance obligations that arise during the sale of a system that includes an installation component, a service and support component and a software maintenance component.  The transaction price is allocated to the separate performance obligations on relative standalone sales price.  We allocate the transaction price of each element based on relative selling prices.  Relative selling price is based on the selling price of the standalone system.  For the installation and service and support performance obligations, we use the value of the discount given to distributors who perform these components.  For software maintenance performance obligations, we use what we charge for annual software maintenance renewals after the initial year the system is sold.  Revenue is recognized on the system sale based on shipping terms, installation revenue is recognized after the installation is performed, and hardware service and support and software maintenance revenue is recognized ratably over the term of the agreement, typically one year.  Deferred revenue includes service, support and maintenance contracts and represents the undelivered performance obligation of agreements that are typically for one year.

 

When we sell software separately, we recognize revenue upon the transfer of control of the software, which is generally upon shipment, provided that only inconsequential performance obligations remain on our part and substantive acceptance conditions, if any, have been met.

 

We recognize revenue when there is an approved contract that both parties are committed to perform, both parties’ rights have been identified, the contract has substance, collection of substantially all the consideration is probable, the transaction price has been determined and allocated over the performance obligations, the performance obligations including substantive acceptance conditions, if any, in the contract have been met, the obligation is not contingent on resale of the product, the buyer’s obligation would not be changed in the event of theft, physical destruction or damage to the product, the buyer acquiring the product for resale has economic substance apart from us and we do not have significant obligations for future performance to directly bring about the resale of the product by the buyer.  We establish a reserve for sales returns based on historical trends in product returns and estimates for new items.  Payment terms are generally 30 days from shipment. 

 

We transfer certain products out of service from their internal use and make them available for sale.  The products transferred are typically our standard products in one of the following areas: service loaners, rental or test units; engineering test units; or sales demonstration equipment.  Once transferred, the equipment is sold by our regular sales channels as used equipment inventory.  These product units often involve refurbishing and an equipment warranty, and are conducted as sales in our normal and ordinary course of business.  The transfer amount is the product unit’s net book value and the sale transaction is accounted for as revenue and cost of goods sold.

 

The following table represents our revenues by major categories:

 

   Three Months Ended  Six Months Ended
Net sales by type  June 30,
2020
  Change  June 30,
2019
  June 30,
2020
  Change  June 30,
2019
(in thousands)                  
Equipment Sales  $2,476    (30.0%)  $3,537   $5,063    (30.1%)  $7,247 
Adapter Sales   1,324    (6.8%)   1,421    2,669    (7.4%)   2,882 
Software and Maintenance Sales   855    (2.4%)   876    1,708    (3.1%)   1,763 
Total  $4,655    (20.2%)  $5,834   $9,440    (20.6%)  $11,892 

 

Share-Based Compensation

All stock-based compensation awards are measured based on estimated fair values on the date of grant and recognized as compensation expense on the straight-line single-option method.  Our share-based compensation is reduced for estimated forfeitures at the time of grant and revised as necessary in subsequent periods if actual forfeitures differ from those estimates.

 

Income Tax

Income taxes are computed at current enacted tax rates, less tax credits using the asset and liability method.  Deferred taxes are adjusted both for items that do not have tax consequences and for the cumulative effect of any changes in tax rates from those previously used to determine deferred tax assets or liabilities.  Tax provisions include amounts that are currently payable, changes in deferred tax assets and liabilities that arise because of temporary differences between the timing of when items of income and expense are recognized for financial reporting and income tax purposes, and any changes in the valuation allowance caused by a change in judgment about the realization of the related deferred tax assets.  A valuation allowance is established when necessary to reduce deferred tax assets to amounts expected to be realized.  The CARES Act, enacted in Q1 2020, accelerated the AMT credit refund of $640,000 to be a current asset instead of non-current.

 

Recently Adopted Accounting Pronouncements

None.

 

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 1 - FINANCIAL STATEMENT PREPARATION (Tables)
6 Months Ended
Jun. 30, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Disaggregation of revenue
   Three Months Ended  Six Months Ended
Net sales by type  June 30,
2020
  Change  June 30,
2019
  June 30,
2020
  Change  June 30,
2019
(in thousands)                  
Equipment Sales  $2,476    (30.0%)  $3,537   $5,063    (30.1%)  $7,247 
Adapter Sales   1,324    (6.8%)   1,421    2,669    (7.4%)   2,882 
Software and Maintenance Sales   855    (2.4%)   876    1,708    (3.1%)   1,763 
Total  $4,655    (20.2%)  $5,834   $9,440    (20.6%)  $11,892 
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 2 - INVENTORIES (Tables)
6 Months Ended
Jun. 30, 2020
Inventory Disclosure [Abstract]  
Inventories
   June 30,
2020
  December 31,
2019
(in thousands)          
Raw material  $2,122   $2,416 
Work-in-process   1,667    1,832 
Finished goods   942    772 
Inventories  $4,731   $5,020 
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)
6 Months Ended
Jun. 30, 2020
Property, Plant and Equipment [Abstract]  
Property, plant, and equipment, net
   June 30,
2020
  December 31,
2019
(in thousands)          
Leasehold improvements  $390   $395 
Equipment   5,666    5,606 
Sales demonstration equipment       905    778 
    6,961    6,779 
Less accumulated depreciation   5,359    5,111 
Property and equipment, net  $1,602   $1,668 
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 4 - OTHER ACCRUED LIABILITIES (Tables)
6 Months Ended
Jun. 30, 2020
Accrued Liabilities [Abstract]  
Other accrued liabilities
   June 30,
2020
  December 31,
2019
(in thousands)          
Lease liability - short term  $692   $678 
Product warranty   341    367 
Sales return reserve   67    77 
Other taxes   98    126 
Other   61    124 
Other accrued liabilities  $1,259   $1,372 
Product warranty liability
   June 30,
2020
(in thousands)     
Liability, beginning balance  $367 
Net expenses   341 
Warranty claims   (341)
Accrual revisions   (26)
Liability, ending balance  $341 
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 5 - LEASES (Tables)
6 Months Ended
Jun. 30, 2020
Leases [Abstract]  
Operating lease commitments
   Operating
Lease Commitments
(in thousands)       
2020 (remaining)   $381 
2021    711 
2022    317 
2023    91 
2024    83 
Thereafter    141 
Total   $1,724 
  Less Imputed interest    (198)
Total operating lease liabilities   $1,526 
Supplemental balance sheet information related to leases
   Balance at June 30, 2020  Balance at December 31, 2019
(in thousands)          
Right-of-use assets (Long-term other assets)  $1,297   $1,574 
Lease liability-short term (Other accrued liabilities)   692    678 
Lease liability-long term (Long-term other payables)   834    1,178 
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 8 - EARNINGS PER SHARE (Tables)
6 Months Ended
Jun. 30, 2020
Earnings Per Share [Abstract]  
Earnings per share
   Three Months Ended  Six Months Ended
   June 30,
2020
  June 30,
2019
  June 30,
2020
  June 30,
2019
(in thousands except per share data)            
Numerator for basic and diluted                    
earnings (loss) per share:                    
      Net income (loss)  $(1,057)  $127   $(1,611)  $153 
                     
Denominator for basic                    
earnings (loss) per share:                    
      Weighted-average shares   8,302    8,257    8,261    8,280 
                     
Employee stock options and awards   46    75    51    95 
                     
Denominator for diluted                    
earnings (loss) per share:                    
      Adjusted weighted-average shares &                    
      assumed conversions of stock options   8,348    8,332    8,312    8,375 
                     
Basic and diluted                    
earnings (loss) per share:                    
      Total basic earnings (loss) per share  $(0.13)  $0.02   $(0.19)  $0.02 
      Total diluted earnings (loss) per share  $(0.13)  $0.02   $(0.19)  $0.02 
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 9 - SHARE-BASED COMPENSATION (Tables)
6 Months Ended
Jun. 30, 2020
Share-based Payment Arrangement, Noncash Expense [Abstract]  
Impact on operations of recording share-based compensation
   Three Months Ended  Six Months Ended
   June 30,
2020
  June 30,
2019
  June 30,
2020
  June 30,
2019
(in thousands)            
Cost of goods sold  $15   $10   $21   $16 
Research and development   132    103    196    166 
Selling, general and administrative   334    251    513    469 
Total share-based compensation  $481   $364   $730   $651 
Equity award activity
   Three Months Ended  Six Months Ended
   June 30,
2020
  June 30,
2019
  June 30,
2020
  June 30,
2019
Restricted Stock Units   376,200    276,700    376,200    276,700 
Stock Options   —      25,000    —      25,000 
Future equity compensation expense
   June 30,
2020
Unamortized future equity compensation expense (in thousands)  $2,731 
Remaining weighted average amortization period (in years)   2.63 
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 1 - FINANCIAL STATEMENT PREPARATION (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Revenues $ 4,655 $ 5,834 $ 9,440 $ 11,892
Change in revenue (20.20%)   (20.60%)  
Equipment Sales        
Revenues $ 2,476 3,537 $ 5,063 7,247
Change in revenue (30.00%)   (30.10%)  
Adapter Sales        
Revenues $ 1,324 1,421 $ 2,669 2,882
Change in revenue (6.80%)   (7.40%)  
Software and Maintenance        
Revenues $ 855 $ 876 $ 1,708 $ 1,763
Change in revenue (2.40%)   (3.10%)  
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 2 - INVENTORIES (Details) - USD ($)
$ in Thousands
Jun. 30, 2020
Dec. 31, 2019
Inventory Disclosure [Abstract]    
Raw material $ 2,122 $ 2,416
Work-in-process 1,667 1,832
Finished goods 942 772
Inventories $ 4,731 $ 5,020
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Details) (in thousands) - USD ($)
$ in Thousands
Jun. 30, 2020
Dec. 31, 2019
Property, Plant and Equipment [Abstract]    
Leasehold improvements $ 390 $ 395
Equipment 5,666 5,606
Sale demonstration equipment 905 778
Property and equipment gross 6,961 6,779
Less accumulated depreciation 5,359 5,111
Property and equipment, net $ 1,602 $ 1,668
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 4 - OTHER ACCRUED LIABILITIES (Details) (in thousands) - USD ($)
$ in Thousands
Jun. 30, 2020
Dec. 31, 2019
Accrued Liabilities [Abstract]    
Lease liability - short term $ 692 $ 678
Product warranty 341 367
Sales return reserve 67 77
Other taxes 98 126
Other 61 124
Other accrued liabilities $ 1,259 $ 1,372
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 4 - OTHER ACCRUED LIABILITIES (Details 1) (in thousands)
$ in Thousands
6 Months Ended
Jun. 30, 2020
USD ($)
Accrued Liabilities [Abstract]  
Liability, beginning balance $ 367
Net expenses 341
Warranty claims (341)
Accrual revisions (26)
Liability, ending balance $ 341
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 5 - LEASES (Details) (in thousands)
$ in Thousands
Jun. 30, 2020
USD ($)
Leases [Abstract]  
2020 (remaining) $ 381
2021 711
2022 317
2023 91
2024 83
Thereafter 141
Total 1,724
Less: imputed interest (198)
Total operating lease liability $ 1,526
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 5 - LEASES (Details 1) (in thousands) - USD ($)
$ in Thousands
Jun. 30, 2020
Dec. 31, 2019
Leases [Abstract]    
Right-of-use assets (Long-term other assets) $ 1,297 $ 1,574
Lease liability-short term (Other accrued liabilities) 692 678
Lease liability-long term (Long-term other payables) $ 834 $ 1,178
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 5 - LEASES (Details Narrative) (in thousands)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
USD ($)
Jun. 30, 2020
USD ($)
Leases [Abstract]    
Cash paid for operating lease liabilities $ 189 $ 374
Weighted average remaining lease term 3 years 29 days 3 years 29 days
Weighted average discount rate 5.00% 5.00%
Operating lease costs $ 164 $ 326
Short-term lease costs $ 8 $ 16
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 6 - OTHER COMMITMENTS (Details Narrative)
$ in Thousands
Jun. 30, 2020
USD ($)
Commitments and Contingencies Disclosure [Abstract]  
Purchase and other obligations $ 1,200
After 2019 $ 228
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 8 - EARNINGS PER SHARE (In thousands, except per share data) (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Mar. 31, 2020
Jun. 30, 2019
Mar. 31, 2019
Jun. 30, 2020
Jun. 30, 2019
Earnings Per Share [Abstract]            
Numerator for basic and diluted earnings per share: Net income (loss) $ (1,057) $ (554) $ 127 $ 26 $ (1,611) $ 153
Denominator for basic earnings per share: weighted average shares (in thousands) 8,302   8,257   8,261 8,280
Employee stock options and awards (in thousands) 46   75   51 95
Denominator for diluted earnings per share: adjusted weighted-average shares and assumed conversions of stock options (in thousands) 8,348   8,332   8,312 8,375
Total basic earnings (loss) per share $ (0.13)   $ 0.02   $ (0.19) $ 0.02
Total diluted earnings (loss) per share $ (0.13)   $ 0.02   $ (0.19) $ 0.02
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 8 - EARNINGS PER SHARE (Details Narrative) - shares
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Earnings Per Share [Abstract]        
Anti dilutive options to purchase shares 25,000 35,422 25,000 30,240
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 9 - SHARE-BASED COMPENSATION (Details) (in thousands, except per share data) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Total share-based compensation $ 481 $ 364 $ 730 $ 651
Cost of Goods Sold        
Total share-based compensation 15 10 21 16
Research and Development        
Total share-based compensation 132 103 196 166
Selling, General and Administrative        
Total share-based compensation $ 334 $ 251 $ 513 $ 469
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 9 - SHARE-BASED COMPENSATION (Details 1) - shares
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2019
Jun. 30, 2020
Jun. 30, 2019
Share-based Payment Arrangement, Noncash Expense [Abstract]        
Restricted stock units 376,200 276,700 376,200 276,700
Stock options 0 25,000 0 25,000
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.20.2
NOTE 9 - SHARE-BASED COMPENSATION (Details 2)
$ in Thousands
6 Months Ended
Jun. 30, 2020
USD ($)
Share-based Payment Arrangement, Noncash Expense [Abstract]  
Unamortized future equity compensation expense $ 2,731
Remaining weighted average amortization period 2 years 7 months 17 days
EXCEL 50 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !*3#%$'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " 2DPQ1;U>]0.X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R'%'*2;U96.G#08K;.QF9+4UBQ-C:R1]^R59FS*V!]C1TN]/ MGT U1HU=HN?414KL*=\,H6FSQK@51^:H 3(>*=A!J:&JZ "<:40OXND%N(<_5/[-P!<4X.V2^ION_+?C7GQATJ>'MZ?)G7+7R; MV;9(XZ_L-9\B;<5E\NOJ[G[W((R22A9R4U1J5VVTNM5J_3ZY_O"["H?.^;W_ MQ\8705/#K[LP7U!+ P04 " 2DPQ1F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M !*3#%'0PPG8Z0, #8. 8 >&PO=V]R:W-H965T&UL MC9==<]HX%(:OVU^A\4UO2OP%"72 '>(TN^Q.$QJZV^ET>B%L@3V1+2K)(?GW M>R0;FV3,@5P$?YW7CX[/>26-=T(^JI0Q39YS7JB)DVJ]_>2Z*DY93M6%V+(" M[JR%S*F&4[EQU58RFMB@G+N!YUVZ.>)18QSHP01T,!'E65+_TN4[$04 0' D(ZH#@38!_[ UA'1#:@59D=E@W5-/I6(H= MD>9I4#,'-C8S+K6$NQG$Z>F-B$OX*IK0(B&?"YWI%S(OJO(P:>X1 ME5+)U-C5\#83X\:U\G6E'!Q1OB1?1*%3!:H)2U['NT#9H 9[U.L %?R[+"Y( MZ'TD@1=X'3S1J7!^+/P53MAD+K1ZX1&]2#PQ27[.5DI+*,9?B&2_D>Q;R?X1 MR3K_#VR3&5'X*GD^C^88%P#1JNP3E<$=2)I!SJ(V'/ MY!_VTD6&*WGP%P[\T6B(8%TV6)?X,/>U^^UEVYDE/-SW>E\1BJN&XNH\B@63 MF3!-E!!HQ4X@7&E?X._?O3M1H\.&;8@JS@ LL7"WG&ZZB/#X->6*(1RCAF.$ MZD2EE)8B4S$4T ]&)9HG7*W7\X->Z"-A\4]-U62)T5&[+4 M5)>*U-A_=)H?KOOCK66^YCNP9_^E M@MNJ>R;#=;0L4:#6W_VS#'Z9PK(%S1 NDHTPFQ8_.U>[ R-P9I-RR*Q*9ZJT5Z<[79%,WL M5L!M'Z]V5%^H\5=%.%M#J'=Q!5]*5IN4ZD2+K5WGKX2&78,]3&%CQZ1Y .ZO MA=#[$_."9JLX_1]02P,$% @ $I,,4;M-2W'.!0 9!4 !@ !X;"]W M;W)KMM>H7>ZCR8Q)=HD9AVG+_?K;QP@@=C)\J$E+\\XSXS'\W@\>N/B1[YE3*+W M-,GRV]Y6RMW7P2 /MRRE^1>^8QF\V7"14@FWXF60[P2C46F4)@-B6<-!2N.L M-QZ5SQ[%>,0+F<09>Q0H+]*4BH\[EO"WVQ[N'1\\Q2];J1X,QJ,=?6%+)I]W MCP+N!M4H49RR+(]YA@3;W/8F^.N4^,J@1/P=L[?\Y!HI5]:<_U WB^BV9RE& M+&&A5$-0^'EE4Y8D:B3@\?,P:*_ZIC(\O3Z._EOI/#BSICF;\N2?.)+;VY[? M0Q';T"*13_SM&SLXY*KQ0I[DY7_T=L!:/106N>3IP1@8I'&V_Z7OAT"<&&"G MQ8 <#,BE!O;!P"X=W3,KW9I12<QF G MQ].'[\N'^\5LLIK/T-WD?O)].D?+;_/Y:HFNXPS)+2]RFD5Y'['WD.TDRK=4 M,!3!QV[0]7-&BRB6++I!G]'STYD19. MOQ?9%V1;?40L8AG,I]WF,Q:".5;F.#@W'T!TJA"1*D2D',]N"]'ST]/\^PI- MEDN(RM>.$>UJ1+L9;!+%!H;I@/XOXE28LD\98[8<:ED.I1?DZQC;Q M[-'@]30D)E1@#RO4&4^GXNET\EP)&C%8:2$O@!RLVI !TW7"^BB#"L,WB"90 M!V@6,@05!46\6,M-D=0F +GR[-+7*Q]F5+!\Q\J5FWR8G-WS<4_<(+YC-7S5 M08X5!&97WD!]]M$NH(@G)J-;<+E64/ZM4-C'V-2YX:)$&81-HZ)OY M!A7?X!>I&/*4(4G?3U:Q MG''MM6L$R:4Z[21K#4 =XO C&T8%+((UAVH06$.HE[EL6UK!$TH MWVLA6(L!OD0-Z"&624S7<1++%LW">KG'Q V:3 THVR,M3&M9P-VZ4!LD?:L'4,7;;7->B@+M5X5RX?A5*O #U@O62 MO:"$0R!MUD^ -V/+2 MD[$_[&HC]P^[!/5W[ZQ M@SXOSL($FCK(-W+V1FWFETSMD-$$08\6PX[_D0H9A_&NS$\PS7-5F-0.BQ.?0P8+6,&H6)5.UM:^7V"2=]S_',@-*XL7<.R,3>OAY 9 MI"^P<;,6F6 ^?+$E=+5$DFZ)!!TOTB(IP\6HR,!Q\R+2!= /FGM XBX5AO' M6B5)MTJ>F4IPI4W7"<_S&R-Y0Z/4K* &#/%:MJ^DEDUR M23M5)N:6)Q$3^:>R5Y'&;ID8^B7+QMH2,L"P:[B)'97)?3-[7 MCBQ,.W$3S+ 3'YP<@:GSQS^I>(FS'"1S W;6%P^\%_LCO?V-Y+OR5&S-I>1I M>;EE%$@K +S?<"Z/-^J@K3I8'?\/4$L#!!0 ( !*3#%'.JO$2.0, ( * M 8 >&PO=V]R:W-H965T&ULG99M;]HP$,>_BA5-6BMU MS1./%2!18&JWKC!"-^VEFQS$:F(SVX%NGW[GD*;0TE#&"["3^__S\W&^N+,6 M\D'% )H\I@E772O6>GEAVRJ,(:7J7"R!XYVYD"G5.)4+6RTET"@7I8GM.4[# M3BGC5J^37YO(7D=D.F$<)I*H+$VI_',)B5AW+==ZNC!EBUB;"W:OLZ0+"$#? M+2<29W;I$K$4N&*"$PGSKM5W+P:N;P1YQ \&:[4U)F8I]T(\F,EUU+4<0P0) MA-I84/Q9P0"2Q#@AQ^_"U"J?:83;XR?WS_GB<3'W5,% )#]9I..NU;)(!'.: M)7HJUE=0+*AN_$*1J/R;K(M8QR)AIK1("S$2I(QO?NECD8@M@5M[0^ 5 N^] M K\0Y)FS-V3YLH94TUY'BC61)AK=S"#/3:[&U3!N_L9 2[S+4*=[@_%M,+ZY M'O9GHR&Y[-_T;PW46XD=@&2@2)_@.X$)2?"=@Z\;MJ0: MT2O:C_O[Q;W>3_K[,5IMNI]/;5]>&X#;:]=3PP9[-O5"X8 M5R2!.0J=\R8ZR,UQ9S/18IF?&.Z%QO-'/HSQB C2!.#]N1#Z:6(.(>6AL_&PO=V]R:W-H965T&ULI5A=;^(X%/TK%IJ'5AI*['Q2T4HM9&993:$J[*JMY%R=SD8 MB.6&;B-QP7>4J7]6/-M&4EUFZX'8932*BZ!M.B"6Y0VV4<)ZUZ/BWGUV/>)[ MF2:,WF=([+?;*/MY2U/^>M7#O<.-AV2]D?F-P?5H%ZWI@LJGW7VFK@8U2YQL M*1,)9RBCJZO>#;X,B9T'%(@_$OHJCGZC7,HSYS_RBVE\U;/R&=&4+F5.$:FO M%SJF:9HSJ7G\4Y'VZC'SP./?!_8OA7@EYCD2=,S3[TDL-U>]H(=BNHKVJ7S@ MK[_12I";\RUY*HI/]%IAK1Y:[H7DVRI8S6";L/([>JL2<12@>. 4@40/9?P593E:L>4_BNP7T2I?"PPE:/*JONW#VN$#S+VA^'S[(SHF]+NI-H1]6*VT091=&6[YD4Y^CLB47[.)$T/D=]]+28H+-/Y^@3 M4O&/A_C10*J)Y\,/EM4D;\M)DI9)VNB.,[D1*&0QC8'X27>\UQ$_4 FKLT8. M6;LEG82_[]D%LJW/B%C$ N8S_G X'D)R_M_HX7\>_209=KV$[(+/;N&;LB7? M4K20D:2JA$CTU\VSD)DJ 7]WL#LUNU.P.RWL,U4L1912<-F4H5X1FI?$EVO' M<]W1X.7X69@@-["=4]#$! T=QSH%A28(XV!(:M2)0+<6Z'8*'',A$5^A->>Q M0(*GT *_+3G\<>:A)-D.T&^L,T02XYFGTIT03YQ!O"$OU:HM^Y%:J2.?N*PC_O MP]DB7%QV;(&@9@TZ$_= !8VRY0:IZJF:X(OJ[KM\HT%)# Q5V,-:?L80*-#7 MB0FR\5!;<2$ LCT,)W%8RQUVRETHUY"P]6>TIHQF45K(CF+5_)*\K.3& E(^ M-$7YEO;0QP H(-H:FY@@V]5S& *@P&K9(=AJNK'5J?V12R58V@E"ZDTC]P9Y^XR$H!+>)XXQO*4+?11\2 A#/:M'9N /<;0_4 MZY!ZV6'J72#+*%O^1*H$,A&5KUGK/ D=N\5LX_U +XD R#/* T!D8UT^!/): M]#>F 7>[AK(B,L[Z_!?*A-G<^P'1A0,.P! .$!&B"S=!3IONQDE@_YT=?*01 M/=.56@<'X3)Z:VD)OCG=H6>L=A.%7=U#0538:!PAR-5B '!C>'"WXYG6.M%9 MU0+S'#"Z2D#7@TT?TA\:G1 $5^7#8"P93QQ$]56T!K7@[MM3_ZB\_["'AJO M(&IZKB'5A&%3*L3E86-; UQNB]$AC=$AW4;G-A+)$BE;R]2&%H=E7I\H0-HK M1O]XOM8%UNL9 +,N]"-3R/=/LU(1%RMC(^GPC174"H@E&TL"@ %I +B M\G5//#@ZD]S2;%T&KJ6;E@7%Y(?FN.!%]YE+R;?%S0Z.89CE _;_B7!XN M\@'J8_OK?P%02P,$% @ $I,,4:?>>V+N3>? ^*L("9'H+8FIZ!JA ME-L[TQ2KD"18W+ MH?!DS7B")2SYQA1;3G"@24EL.I;5,A,<4:/7T7LSWNNP MG8PC2F8$/D+N(R]R<)'TP^(L=RK))\!I^FV[=E MY?Q?=.^?HW\PHYZ?G+K6JU_0\R66!#J&1&R-IC(D' U8 LTJ5%UD3]"(KEA" MT(_^4D@.#>%G1=!&'K2A@S8N!)U YXQ2W:N8"5$K.U6I1$M+J#ZY[UW;5M/M MF/O3=W6.LIT"9EBFU++MCRBO1*E9SS$?ZFSF=38KS9TN'KUYU3_PKL+,5AZD M56DF=%KHHQ3:#.>$KMX1O"8J8JP[^ 9F3(7'J7+SI.9VLV#P.>3:MML%A\M M;:M@\#G(MLK]=?/2W?YGT]Q K[]_;=P"[9'\+T3X?U'_GTTV&, M^2:B L5D#:&L&Q?>"T_'<;J0;*OGS9))F%[Z-H0O&,(5 )ZO&9/'A0J0?Q/U M?@-02P,$% @ $I,,4>GV&<>Y!P I2T !@ !X;"]W;W)K-"I2 (TL8MFMVVR2;J+O51M M)A:J@U>2D_;MEY(=T](,*:OUWL26,R1_#@_?#*F3I[SX5BZEK,CW-,G*T]&R MJE9O)Y-ROI1I5+[)5S)3_[G/BS2JU&/Q,"E7A8P63:$TF3#'\29I%&>CLY/F MM^OB["1?5TFN"E.LTC8H?YS+)GTY'=/3\PTW\L*SJ'R9G)ZOH0=[*ZLOJ MNE!/DUTMBSB561GG&2GD_>GH'7T[<]VZ0&/Q5RR?RKWOI.[*USS_5C]<+DY' M3JU()G)>U55$ZN-17L@DJ6M2.O[=5CK:M5D7W/_^7/O[IO.J,U^C4E[DR=_Q MHEJ>CH(168S M^KYUQ%X!R@T%V+8 ZQ1@@:$ WQ;@G0+",Q00VP+B4$GNMD#3]=75Q]OKWZ>#E]=S>;DML[ M]?%I]OF.7+U7#U<7?WRX^CB=W=S^1F9_?KF\^X>,R9?;*7GYXA5Y0>*,W"WS M=1EEB_)D4BDQ=963^;;A\TW#S-1PGJ9JHMQ6^?P;4OK"7OI&5FH1R 691446 M9P\E>3F5]_$\KEXAE4WME;V;S]?I.HDJ5=]5M90%4>+4LEO6Z^%1DLMLGJ>2 MO/R8ER56__5U>14F[V$2-TFZHV&ZH6%./,-1S+A_BK.ZL6AE)E,WE:U(N MHT*6)*K(5,[?$$Y?$^;0 !N-3=UN4W>]>SR>!9P''E/&CX@HOA/%AXJ*TGR= M50>)VM3M[8FB(7/%3M)F*D K[H5NVV@*C803M&UFT(9Q[OJX!\3. \+J@1NY M6A?SI=JL%MOQ>!X7K,<"#,/8]3W*< WN3H,[6,-F&# -+G##F%/>\94+A>X; MM61Z.YF>56:SV$GT%!6+DL1EN9:+UR13-,SO215]5UM?M5SFR4)-)YL//2!- M.,+#I?D[:?[QI)E=ZT/7AAW'^M"Q(:X]V&D/K-HOE=QZZ=5:RZ8?U;+(UP]+ M,DM72?Y#RLTV2ZZWDX1[1V15F(>C( MGDFK&]31Q'3L4Z5VV_AKL]@4&%3(5D9UT(,RT(&>#/R.R!ZCMLP]L%.KS,]J M\L9;R#U]FBC]78S-Y8VU^: MKM2.UPWYYRWR]_EO2B%6*>MBI\>HK5>#E]K).\L6AEC@4U3LL!NBH\YA,*!F M7,!,:T.SD-IAV!6E8X%^40(+!GAG15]02%#N,]J=:M#*Y5YW7* 1XR(TL)AJ M&%,[C7\M4*.0O-9(C6KZ4CM^?RU6VU;>%ZQ12&H:$$@UJ:D=U>9%^_LZ4_YW+.L#0CE@'O4=TWS58*9V,IL7;;\H MA,&!\'AW4D .\T $W4D!K00%DP(:,>8S0PC%--69G>K61=N[>3&(<.N.RC3& MF1WCUD7;KXL>M*DR"%1D4T6LX*:*&%DV5;:7_-KQ/"S-8A"Y8QH$-!0&'1J[ MS([=8:D6@RGG. 0;'8,\;EFUI6H8,SN,CY1N,8A)ZC''IP9]FI/,SLDCY5P, MR6<9",(8DM R$U.99BKK26D') ,,0Z/HZK0;M65JY+%?1]ZYO8X!R0!#V,G\ M[FYRI-9F/:VU/:9)S>RD_JET@$%&CRE 6)]56['&.!N&\0&Q!8-0M<867&.5 MV['Z"['%MN:^V()#]"*Q!6(%8PO$R!);<,UP/ICA>$* ^P$2-6!JA@O3T:UF M*A]\HHPG!+@NAHR/W_7\!8WF?5OB'348 8%@6@ MF35ST LS++-F5 C3M9VFLK!3^:"S2H,H+*UVG$["?"$@N6D(IAMBU5U[B ES M0E-:('0 ((YTI8P& *Y4[8%)D(#61SI5AG7A5PK(X&)@+A& A/,"@0FF)$Y M,!%[5\MV]!]T4BDP9GO4D)X+36UAI_9!^81A?6!GV*$3"L,!JM"$%G9"'Y1/ M&$1A!]B&:T]4H M=GMNKX^33;@P.5>;#GB)!,*[9=7N@R:W:R?WD-C6A>@4 >WJM!NU96JZNG:Z M'A3;VNL8$-NZV)&WXW9WKF.U-^MMK^TUS7[7SOZ?BFY=Y$:[&]O:;=IJ-:'= M81?> R#I0FY;(>GNO0TVC-P#(.G"PW0,DH@9A"1B!"")V&"0G.R]X5J_P*QP MHF!3DD3>JW+.&U]54VS>"=X\5/FJ>>GU:UY5>=I\7]G@HW+*'J1&Q9"K^LA$RHAE>Y[JFM9#3*%R5QCWC>H)=0GG8NSO)O]_+B M3&0ZYBF[ETAE24+ERR6+Q=-Y!W=>/SSP]4:;#[V+LRU=LP73/[?W$MYZ>RT1 M3UBJN$B19*OSS@2?3GUB%N02OSA[4@?/R)CR*,0?\S*+SCN>0<1B%FJC@L*_ M'9NR.#:: ,??4FEGOZ=9>/C\JOTF-QZ,>:2*347\FT=Z<]X9=5#$5C2+]8-X M^LY*@_I&7RABE?]%3Z6LUT%AIK1(RL6 (.%I\9\^EXXX6 !Z[ M(N8#4%P0M M"_QR@9\;6B#+S;JBFEZ<2?&$I)$&;>8A]TV^&JSAJ0GC0DOXE<,Z?3&]FR_N M?LRN)LOK*[18PK_;Z_D2W=V@Z63Q'=W\N/N]0$<_4YI%7+/H&'71S\45.OIR MC+X@GJ+E1F2*II$ZZVF 8Y3VPG+KRV)KTK+U -V*5&\4NDXC%KU=WP,S]K:0 M5ULNB5/A/UEZ@GSO*R(>\2QXIA]>CL<../[>M7ZNSV]S;>7 FX>[6W1W?_TP M6<[FW]!DNIS]FBUGUXM3QS[!?I\@WR=HV6<.Q<[34"0,'<5"J6-;* H5@UR% M*>W=11GQ!1YF"!YX>(^A>DFJ>KHORYYHSY7+A8 ]RX'3A M%8,>&'):=)8T0C014O/_\@\V=Q;J^@>."H)!S9D6&1+8G3G U);H#SPYOM(-1#U20UT4Z1+!G;0XSWHL1/T8D,EZQHJB !G ORH M6L,^;FP_].M^;P?DD'\,WM:]IM[#X=U@!:A@]1]"Z]B#.RFC"+VL4C77/?;/[K>O&)XQ^IR(%X3F_=9Q*X03%E M*!8\!M[1+U_1-J:F*T'(V2LOVYQ4*G]C?^#7PVR3\@4/IM/MH(.D+:W#,O0$HW[= HN43[PV"RI6 M(^^,1ZL5"W7>I=ES>9H''F/ER5Z9R1A1C1[9FJ>IR1W#/4QR81WM2',JPO[8KW.Q36SD!RUG2;]B2-_-D$X3F#D4 MN<#[3>[#?G/&L(GU<1M'^A5'^MC9MQ?9=ALSTQ]IC"*NPEBH3!;]QIBSBD$C M3XLK71A<73WJ] MPB*#O?JPW#NXW4R87.>7O@KEJCT%HD^>.&P?PLC0#\OA)"O[Z8#?;7 M\!?_ U!+ P04 " 2DPQ10A^[N)8/ #>)@ & 'AL+W=OP,:93 M=W75A#='FZYK7QT?AV)C:AUFKC4-OEDY7^L.EWY]'%IO=,D/U=7Q8CX_/ZZU M;8[>ON9[7_S;UZ[O*MN8+UZ%OJZUW[TSE=N^.3HY2C>^VO6FHQO';U^W>FVN M3?=+^\7CZGC8I;2U:8)UC?)F]>;H\N35NS-:SPO^8\TV3#XKTF3IW#>Z^%"^ M.9J30*8R14<[:/R[->]-5=%&$./WN.?1<"0]./V<=O^9=8U?]:LMN M\^;HXDB59J7[JOOJMG\W49_GM%_AJL!_U3:NG1^IH@^=J^/#D*"VC?S7=]$. M?^:!17Q@P7++02SE3[K3;U][MU6>5F,W^L"J\M,0SC;DE.O.XUN+Y[JWGS[? M7*D3]4S]_.'3Y:?W'R[_I:YO+F^N/EY]NE%?OEY]N?QZ>?/A\Z?7QQU.HV>. MB[CS.]EY\_TT'U4][O])']/ONU;NP?FJ(C5^]=$UQE2RW!TI3JBS?!-)W<<"OULVUT M4UA=J6O<-(C,+JC_NUR&SB.V_O\[$IT-$IVQ1&?_ V=\=V=*[5>AU85Y<]22 M6O[6'+VE@%$?CC]#=]\Z+XH^^=M?+A:+^8_I2[X\^3'/XOU?3;JCXIW/O;]_ MZY<0[SQ5.*[5WI2JVQBU&DP81A/J0-:%=\W@7;;_Y,[)RTP7A?.E;=:J<[R7 M[RL3>*$WZ[YBZ7DG^O+:%+VWG8TKKNZ*C6[6!IK6M0V,*$^.KJ_>'SV=J9L- M#+(GD#>J;W1?VLZ4V;+OUV%IZHQA0D!*)E!VU8"4:VT]=5. ME#G)V)7M8'YE\8T M@#(/?"S5RKN:]LRB 1YQ6HH M#K"2U)"47ROGNL9U1I4V%)4+/62/-JIV6;1I2:8_*,$06):PG8*#5=W:;L/7 M?<-V;V'IPK84*VO3&$^;T_>F[>19,M\O#6O*>C[K0%QN%H#D< M>C/U&5[0?.A]]P1[IVI!0T-H>#_:$7"PQ.!UR_J7$(!*5HKIM"G;O=8[N$V9 MNQ;EC9P43]H9[>D,DN*>LQ?S%.L'[1DVKJ]*;)I1<2?+P)N_]8U43S8K':"; M!B&JOA\K"N33_S_C*IWF:U@TF>A,RT\4IJ* M' M#ZK:M+*&4XRR&ZHSJ01270FP\G/RAF\31<%X2WD_$@MM\E)9"M,ET34$I M_@/W(&(2^"F&B=)$!(8(VXTMQ-SOQ8#1T2%*"RO;KC)ECI#IZ"!(X[84_R** M >8@TPP%:-?[)N2<9'1\R/!]T)7X@C:Z-?@:*+ U!%\X0M_A2Q"+*H86 <)@ M )AXH M^Q%?*Q!7I'EI"?_P(%T 7[+D'X38[[T-8O#"A2ZPQVO.H:AF,6 ^OB3KW'-N M9WS-2>^:F#]8@P6PD&WMM.5_<,(3M?.=[@@D/(<\[J2TZ<[LI_-76$( M#N/6,_53S] _5#D*ZYQ5MO!TP=X!BU8+M%#LU\&.VKM0Q7I2K/B!_;G6% -9E2=$6X+ ,J^#I&":D M@H/T\+>M;07CR?U4151M-"$[R9Z C(-!RZEP5B$%)*;.'V;(FKXEL6+DL%TD MZK*XSQ!S^%#VI/PT[*#/&+2<@.I/)N VX2KM ;$,@3!V,)%%9)+M+IB#)X\V M+PU% JA8*6<2X.&)M=>(2'C-('9;M@Q58< N6BY$%UQCQ5IP(]&8'9L9 +NT M%:XR+D2\8SP_%C0N@ 44)4 +9';@.0B#$0K"-1OH#],[3^!E20_4M4V40G [ M+K,-#JRDN,&+)ID*\E!H91$WH3;*,,*-. @7>!+"+2N[YD<'?K4#YM:"!MBX M*;6?.([3INWQ5-B,#E4!7K KKH-$[CCW/&?_RJY[KY=5+/C#CJZ-Q9CHCR%P M)G&24A,YBECMX"0$9TG -[ "RB$N%A*"\"69+YV!$$45&8S(DL8T)0/U@'\D MST !*!&6NB.C";<@=_"'I.74<+ J1\E@BGT3Y.IW5%^* ;BGE&]U&./&M2GHD>>I^1EJ?AI1"J*ZL9'_$"DB>,C-2D4-\2WO"=4%>K(L5,1:*?6463;*%I.AF.31 MG*.U]XU-2J(N4P.G$W@+T/8MVN%N7$!W,ZQQJVY+^$7#KLXT K=ID83O@]K& M40-V5J1H9DF_CYE AT82 )4GDV2NB$)(]1YK9MKX<%DE6U!-H1K/^"Z8-MD; M@E15[)*X=2=8 7\5ZYIIL.0E76#FXJIQEJUG,P3XXA8"H MY3P@ZIGO&]P?W&XJSV2Q#=D -SG[!WJ6K-8AI_'GPWH?.A1!CZ*]&_L&DC?Y M4Z^]D8E*UNU:(O^T@#X0?I&0V/DCZ*[5(6TF3T3HIZ:L=Q])@E6R?[V[,]RI5VBU5 M)SL=:_ &J2;E0Y6.Y+.IN/0@EE%&J?%#"#X&L"#L-+)QTJ13L8E>7U*6,W1, M*:=K2ANSQ*ZHK.5"@'FP5)ON$8+/K215*D')AKIPR Q>,?1W+/K2$3N4BL>& MYY:N2_1 =,CWEM'\\>3%C\K35#Y,I"%&V(%0471'ZB\G$06/^B&4LMC_1N\/ MBLOX"&Y]V#80 _%N2:0T?P20)\.VH3-@4CL4B)08C\-0'/<=+!N2$4Q6_[RG MX@QL8@C@?_*2 MP12;#?,XBH\NMGDKBN3-+O P -G>^<2WO2IUK=91MD:1 MR2.(RP:=9#&Z'X&(,,J8N_=Q#H!ZXUA79NY3^M+ MBP3H$#U+F?TN7=^EN=Y#XX'I98,:PIBH_Z.F &PECO#Y-.$$<DYO7.]KI6^UK;C/2[H*SQIVG4R6 M[F$R(=?#3M,V&0%UM/;*T>",_8'V.[P::ESE=,--@)>A"Q$96$JZNQ]!7]=( M7B.1-;D_^*,T-<*AB] P-/JS[#.'PRBT1.LX"8@D0,7.2@;,:5=*D\94_,ZD M)T=/GFLH9]!>I(8[^9HE@[ZHA6@:;QU(/PT_>K]$++'F!$ 3&='^$B,G[A\; M;H:-GAL2 LDX/&3YXCL-'@,1U=?H;T#*O'2!RS[ 3 '!=#,M:W$.8\->Q).@ M U#07)/>Y:;Y4VQ .5.FN&I#&O;'(3@/4J2\T$,T+(,DF8PEF5YQ_(R.[SBZ M)IQ S,Y;!&IP:_T;#0V1(FM'/?PK* ,NL/=Z4UW;N[T;V2/, M_[V\BQJN'_LB>\)PZ/H 3<+3[&KPT#5O_(-:Y&GN#[-GY^^ MP/_G^?S\E.^?\/T7^>+L1799ZI8XGSQ]DI\NSM23\]D%EISD9XL3;'=^_E(] M>3$[PZU%?G&QR*X3>R%C?IQ0*MGDXOES]63!ZR\@R4G^8GZ!<_E87)R?9C>. MTN<'=9:?\]KY;,$B/<\O3L_P_V5^=C;G^^=\_^0DOWBY4-=@G>;9.T8SFH$; M>)P=?DF4JG/%-QGG,Z*/OTL#6.0NH_]KX'F,G.G68RP$,:V0?RI65HR-=*1J'80\CD0.?HI2'R_@4=9 M+YX*)[TLCUIH[DZL/$SHFHEX.&DLHC'I#9/>":&FSQ8S:GEUJ*%>":J.-R6OU;7ZYE;IVX M%+VZG+XV$7HE@\0#5INIRX/'T00NL2T:!Y,EQM3BEP*4K7M;9M$1--"*[KPW MQ1/9TISS_>77JVMU270UI@RI].\3?C.4,V>OJ+.([\,N/][$].'B3>5VI7XX M/YOG\_E\F,6G))2THKZ>7N7R3P^:9_%+&O(4$ER7I>-Y]^7XNOR+!Q?N801I M=3^!*\W4H9^V'$]^GDYT?#W>''6Y?RFZ5QN?SRZZ/V8%,! M.+'"H_/9B^='TK>EB\ZU_ LF9'WG:OZX@6+&TP)\3[\D2!=TP/"3MK?_!5!+ M P04 " 2DPQ11M,1'GT" A!0 & 'AL+W=O3(5IX*W)I)D%F;3D*0Y-D6'!S MIDJ4=+-6NN"63+T)3:F1IQY4Y"&+HD%8<"&#Z=B?/>CI6%4V%Q(?-)BJ*+A^ MGV&NZDG0"_8'2[')K#L(I^.2;_ 1[??R09,5MBRI*% :H21H7$^"R]YHUG?^ MWN%98&T.]N R62GUZHQ%.@DB)PAS3*QCX+1L\0KSW!&1C%\[SJ -Z8"'^SW[ MC<^=PN'N>WSW=+Q?SQW%HB=G=A\F.9=:PL ]8!G"KI,T, MS&6*Z=_XD!2ULMA>UHP=)?Q6R3.(HRZPB$5'^.(VS=CSQ1_P+>06I57Z':Z% M27)E*HWPXW)EK*:^^'DD0K^-T/<1^O]9R*,L;@1'IN0)3@*:,8-ZBT$K7J"! M1-$\&(LIJ#78#&&M=1!6EDN1I1AVJ'_KZ76."Q0HUQ+UNYY.0A%&5 MX3(UGSM+7E,K6=2"YW "K-MCS*_]WJ#S0L-T*N1IJ56"QD"O.Q@,Z7L1L\Z- MD():+H6-4JF!+WT&PR'K'.H\@7YW&/=H/>_2+X1_53@\:-L"]<8/ITNQDK;I MX/:TG?_+INW_N#>/QRW7&R$-Y+@F:'0V/ ] -P/9&%:5?@A6RM)(^6U&;QAJ MYT#W:Z7LWG !VE=Q^AM02P,$% @ $I,,46T_4D^] @ N 4 !D !X M;"]W;W)K&ULM51-;]I $+WS*T96#JWDQL: ^1 @ M04+55 EQ"6E553TL]H"MVKO.[CHD_[ZS:W"HE.36RWIW/>_-F['?C/="_E$I MHH:G(N=JXJ1:ER//4W&*!5/GHD1.;[9"%DS34>X\54IDB045N1?X?N@5+./. M=&SO(CD=BTKG&<=(@JJ*@LGG.>9B/W':SO%BE>U2;2Z\Z;AD.[Q#?5]&DDY> MPY)D!7*5"0X2MQ-GUA[-NR;>!GS/<*].]F JV0CQQQRNDHGC&T&88ZP- Z/' M(UY@GALBDO%PX'2:E 9XNC^R?[:U4RT;IO!"Y#^R1*<39^! @EM6Y7HE]E_P M4$_/\,4B5W:%?1W;[3H05TJ+X@ F!47&ZR=[.O3A!##PWP $!T!@==>)K,I+ MIMET+,4>I(DF-K.QI5HTB"ZU3!@B>8_(OW M2&BC-CBJG0?O$GZM^#ET?!<"/_#?X>LTU7XP;$/H]OM#2J44>3BNBBIG1GV"5&JV^D- M:6VWVZW7ZW:!TX@[@S;E#^IG.(#7/JQWXJ8"Y<[.#$5]J[BNC=7<-F-I5KOQ M);R>:3=,[C*N(,;X70QX-) MT SKZ5]02P,$% @ $I,,4>$\BU00 P A@8 !D !X;"]W;W)K&ULK55-<]HP$+W[5^QXV M/(LBD^98,'.D2I1TLE2Z8):6>A694B/+?%(AHKC3Z4<%XS(<#_W>K1X/564% MEWBKP51%P?3K%(5:C\)NN-VXXZOZ?67[#1<^SP4B6,_X5U M'9L28B;A-CSK@MYEA?,LO%0JS5H%TUH M[L5+]=E$CDOWI]Q;3:><\NSX^N9A!CWX!#THA./E[R#-TE376$&EYPMN."6HX'ODX6QFH;DQP<%>FV!GB_0 M^Z]=_1#3WL2.GE31Q3&6=M42* J62M - MY'(5I*HHE41IS5E K47?V@M,L5@06-(]#/:YI!Q5&28S,F P M"&H)EFTHX/0$NG&_V>IW:=$+WI>X!]W#^/C4/Y-!# ^D,LV97-$9"5"5AO)/ M0JV(@ S-]\7P#13UO*+,J#_0]L2-&S"-P$S3OIV._=6D+?(A+'#%I710"R:8 M3)$HNBYO7"JM([S4)9\BW_FM.' K4+H/.E4G:[< 7:3\_X%U!+ P04 " 2 MDPQ1Q3&#]64% "%# &0 'AL+W=OT[,Y4KI;Z;DW,)S74ESU2NM;2X& Y.5O&:FKQHN M<:=0NF86EWHY,(WF+'=&=35(HF@RJ)F0O?FE>_=)SR]5:RLA^2<-IJUKIM#^67#EOR1VS^;3QI7@RU*+FHNC5 2-"^N>M?QQ/=X^7 XN@M#7(.H ;#Y#\ & "'Y2T MI8$[F?/\I?T @]E&E&PBNDG>!/RCE7T81B$D41*]@3?<,APZO.$/\.XY%LW MW]<+8S4VP3]O8(ZVF".'.?K_67L3@*1V81J6\:L>:LEP_<1[\X=60X71"KD$ MIC632X[M;PTN.#1:H&I$M0Y0B5"P3%3"KMUY9+?BT!H.5D&F9-YF%A2"H70U MH^8W??A2,L6%6&B:W) AXO6MNC' 4+#UMXU.:N47)Y;KNL-H%P& MG5^&M@5@R?BV9!?!P_;4J9!@2]4:)G-S%M VG&I.PP*WS^ $AFE,KV.8QNXA M@6$\I85/( 6"&2<3N&6F1-XB=YS?L' %L)A.6VK. :F! M$<]0>QEPDL'+C, *TW02I[,PBB)W_F0X'=$BQ+EF&NXF4[5V1<(2T'&%]A)G M&KJJ52X*@: ^YT'>:E="C. G?H7,JC9W67''7U)9.Z*L:;1ZQMZR& %&.79! M:EYY]MA1S 7BR)ZO.=,!:W$J*<3H$'_27*9MFLIU,JN"!:N8S#!R]\41TG]6 M_(1'EQ@K>GRKN6XZ &8/R.YMO.,9KQ?8+,.8-N/982.Z;\^Y*LY)-,P8CF&> MWN_:').EN_=GKD&2V=0WRI3Z[446STVIM 5G>/K@+;-,MU2P7=.3U.X/N =NLJNW-<'7;(G[-LEAZW(O%*] V%@ MV(]2H"H:UXBOVN;"9*J5%E !;J[D9#G^Q=G&1N$FA_? G_&B8#AT MZ@C^LSJZ+CV27*:,]W$23T9[TDDFQ]()O2.JA$^@@PAV$.D.('[%O@\T?''& M5(##@V@?3EB:P3DWF18+G@<+NLU>8]KR$+[B:,(C%E52XL6KT:3"&]"+;$K4)%]^$I392FI'0ZC!5X4/F'P M43TYA05>8&., '7GR9@#*FPOERIC?DK#8XG?MY*)$&Z1&]M2>,BLVDDWB?=9 MP&LL@G@6CJ(#%GN%*3#OMCRHS,15QA,-CHGZL&GL'84N43OPH94B*T/X#5N- MR36L2ERZN;U+T0>F\9W/S]1UWG%Z.M+!KWRA,3ZL2'I\W\!4$L#!!0 ( !*3#%'6 MAS9;;P, "$' 9 >&PO=V]R:W-H965T3,-]]\G!E-=\X_A0:18&^T#;.L(6JO\CS(!HT($]>BY9/:>2.(EWZ3 MA]:CJ)*3T7E9%!>Y$M(*XMW'D)GC/"':]1N-\M.LN>->[5I M*&[D\VDK-OB ]%=[YWF5#RB5,FB#4G06(^]6X'/EHS6OQ(J29O)J=LO)0'\GRJV(_F7V\? M;^ "?H/;Q\\W]["\7:V^/*YNOCX^3'-B_&B5RR/6=8]5OH%U 2MGJ0EP8RNL M7OOGS&L@5SZ3NR[?!?RSLQ,X+<90%F7Q#M[ID.QIPCM] V_IC%'$)44!A*U@ MR725W:"5"@-\4D%J%SJ/\,]B'I9BGKVOTC\+E9LT:O0"HFS MC'LPH-]B-O^&T(@M0MMYV7"%@EMKM1&QZ@-PWX*R6\[9^4/,>M1Z5W5]3T@7 MHA0!=MP6\>VH0?_*/W2RB2=2M(J$!MSS/*@4L4QA#)&!DLA -NG%6]S;3QAE M'2>-*]QRY[=1=! ;CYCDGXP6W@N6_G@9/D$$5:''ZM>)J!K$$ ="BU+5\=H$ M,P]J8WDE!0,5D&;A]E.@/?.[93Q,XC\1A (&6B@:N!U0+F8X-(>DZX 0*G^5-JPDK48JV1 MNYL:GHTC\8HS2RHT'7K%H@F$QGD"ZXC5'0,=6C;4^@ :0^"PPL+O!53B$":P M(.!&P:%1QHG6H*%\7?2CGZ^8'%\L2_3A9%*R2%K'TN#L=HV*=\_ZKCN"#V5Y M.2Z*(F44JT 2^QP%%(H5WC)N#&UQS]? )<4U:=)$F,"O^BA_,;8,^DT:SEQI MKK/43[!A=YC_BW[L_3#O?QXKX3>*4]%8LVLQ^7B>@>\']7$!ZP4Q:[ M3OJ!+@F0I-G6 4V+MML.PPZ*3=M"]>%)RT?K);Z[S:91X02@P+2Q3"$Y&,7WO.J _I@? M<9_/J>?+M+#A']K.]S2-(&NLTW(/)@62J^[+GO=U. )<)"\ TCT@#;J[0$'E M%7-L-C&Z!>.]B*X\I?RX R=<[7D6'4_Z L\9W&CE*@LKE6/^-SXF3;VP]"!LD;Y*^*510Q@E M TB3-'F%;]0G.@I\HQ?XEEI*[N@Y.0M,Y; DN5R5J#*.%JZXS82VC4'X,=]8 M9^BU_'PEZKB/.@Y1Q_]=WE=Y?&M>VIIE.(VH]RR:+4:SN05= !4*^T(-H$7Z M41I*.V!0,^-VX/0;IG8@L&0":J,SQ)QR)[@!UC+R)A[OP>GRI.(%SUC7,Z5! M]#6#3# N[0!* &-*!,$AXP*KAC=JD]56^[-0_C75<9'72/1E&$V6,ATHUS70+VU'S_S MKNO^N'>SZX:9DE-T@05!D^'Y:02FFP?=QNDZ].!&.^KHL*QHA*+Q#G1>:.T. M&Q^@'\JSWU!+ P04 " 2DPQ13IT-8UT$ "P &0 'AL+W=O\[N_YQ0(#VI+[8Z_7,?-_,SLS.:"O5LTX0#;RF M(M-C/S$FO^UT=)1@RG1;YIC1G[54*3/TJ38=G2MDL5-*12<,@JM.RGCF3T9N M;Z$F(UD8P3-<*-!%FC+U-D,AMV._Z]<;#WR3&+O1F8QRML$EFM_SA:*O3F,E MYBEFFLL,%*['_K1[.^M;>2?P!\>MWEF#]60EY;/]^!R/_< 20H&1L188O5[P M(PIA#1&-KY5-OX&TBKOKVOK/SG?R9<4T?I3BB<,<,F M(R6WH*PT6;,+YZK3)G(\LX>R-(K^(->S"FMTL/&OPUR)K M0R]H01B$P1E[O<;;GK/7.V%OSE3&LXV&!2I8)DPA_#E=::,H.?XZ8[_?V.\[ M^_W_)YIGC=ERO-4YBW#L4[UI5"_H3V9,\PBP]B,G/[3S@VN(F(@*P0S&+E%C MC[+>) A;EYJTRUY04:5!5J0K4I1KB&2:DI0SH8&*5AN6Q60:XD+9%[(HL2A< MQFVXXZ*P=OX-WG/P4,)K!,W2(RR.@.:BT(XRKM=4MI9A+@UFAC-1RW.M"[82 M"$5NJYJ^4DOI%57$"8M4J&BB9T_FMNPU['(!0XU+%^JME($436(=6YP'<8PJ M *\&@!K NH^OD2@HYV&M9.KDZVC8UD,J\>G0&5D!6 YVR57M_U86@@X3@1&[ M2V>#>E@;'DE^+05U5!LUXYAJ-)HVE4E*?)GFA6GP5RYO*,PU$^\]DUOO,5&( M>T4,2_ZZM^%13:*KR=,+[X+;H,E"$Z"VP<'<['@<4Z?ZX-W3P2EFI+*LSQ&\ M$%+K#[L\[^FVXAFYB/7/'^"BVPH&UV"7W?"ZW+CJ=LN-0<^[PTQ2 ]T'/ ?R M5"7LY4'"#EN](*1G2&CTO.K:YS#PYFDNY!O%[R ]R"6V98H"T;^"ZP$,NG S M>$?G/W@]C?^F"X'.9'N"V8\LS7_RZI*(9$:_M2/Q+FG)B?[0/GO6E5[7/:\' MWNQ[CN%1&BJ9U7Y+.A2S)Q&TNSUW$$&;0E=NW#0;E9UW)?+]EN#IL,G4_E*1 MY86*$FH&$ Y:01!X5=!<+LBJ:HPK .N^IKQ/;=Y7W8_2N.Q13;;;.\F)ONML MQT![@U8_#)T\*8?]/?P3T,@/8;P&%TO6]AK1G4 MCM(ZL\CV'L&(%1K=[]HKAW?0D([=G9V=J80J?>-F+[HF9)&9&PO=V]R M:W-H965TK%; M((_&27LH>IA(M#6(I'%F1G:\O[[DR%9D;Q+TT%ZDF1'Y\2.'I#A<*_UD$D0+ M+UF:FY&?6+L\:[=-E& F3$LM,:7?18W@G\(7%M:FM@3QZ5>N+-]WCD=Y@0IAA91A#T M6N$EIBD#$8WG+:9?F63%^GJ'_M7Y3KX\"H.7*OU3QC89^2<^Q#@716KOU/H; M;OTY9KQ(I<8]85W*]CL^1(6Q*MLJ$X-,YN5;O&SC4%,X>4\AV"H$CG=IR+'\ M(JP8#[5:@V9I0N.%<]5I$SF9\Z7,K*:ODO3L^/KF?@JGT(39M\G=M'DQF4V_ MP.7-U>WT>C:Y_WYS/6Q;,L/"[6@+>5%"!N] ]N%*Y38Q,,UCC/?UVT2OXACL M.%X$'P+^5N0M"#L-"#I!YP.\L/(Y='CA.WBS1&AL\EW&<"LVE&(6)EJ+?(&\ M;L"URB-A$IB^4.X;A+\FC\9J2J"_/[#>JZSWG/7>?QGQ#R&Y<,_,4D0X\JDR M#>H5^F-*6C U3\5:Z-C @ORT&#=@C9"(%5)E16J1RQ\8>Y'*V&'AZ@6WSI?: M=& 3!#164BG0@<.!F-8P%U+#2J0%0H8V47$+V#C)D_K6[,_6H&[-VUDKC,P7 M((#CS0759%]!9$I;^:,D5MH@I+B("(8:4XT6[>8H;4%A:,$],989!<8R?U5H M4C)4K@;4'*BO:0?H=LQ+QVR[%K.]@#0@IQY)HC43#6>= V,3C<0SC\'(%\C* M D N *#TQ2I]G4C0Z9XVF,L275-*-WP=FO0- :;4*,V9=^\0ZZ4$,X*N'W@5 M]/L+[[/DJU.%(9'AQY!EU=][X[N3N@H<7QC M)(YJZ0JE&P8D&4+WM$]R?6]a"UH %YA30U"F(F%J5Y#MD]R ,>Q <=^&X M&T*O?^K=*TN"]>3$#K;4I9J8+5.U(<:QI RV2AMXV[+WF;6#SOG=[,'A#,Z-.^F>'\$* M.2=6J*E,$#9T\2Y":DOC]7,98!8P3L*5M.!H-YT6OJ".))4QU9;D/C#=\O-J M9L%NEC(2:;JI(<^Y.E^!*[_8R=\+D,^:V@"ZX$[&&J:SRK,M9[J'FVYQ"\ MZ=!^[^#VT!B$74KNG8]K-_7PWX5"3D/^HFV:R-,AGKA M!C5#K(KET)PX M *&PO=V]R:W-H965T:F<5S;[3UT^@"1D(0+2? T++NK^^W"X"D'-F] M%UND@,7^WF\7>K,U]IO;*.7%0UTU[NW1QOOV]?&Q*S:JEFYB6M7@FY6QM?1X MM.MCUUHE2]Y45\>SZ71^7$O='+U[P^^N[;LWIO.5;M2U%:ZK:VEW[U5EMF^/ M3H[2BQN]WGAZ// MB?HGEAVR+*53'TSUJR[]YNW1Y9$HU4IVE;\QV[^K*,\YT2M,Y?BOV,:UTR-1 M=,Z;.FX&![5NPG_Y$/7P9S;,XH89\QT.8BY_EEZ^>V/-5EA:#6KT@47EW6!. M-V246V_QK<8^_^[JZ]U'<2)>BD^?KQ97'SXO_B%N[Q9W'[]\O+H3USNE85Z>]22!/9>';V[,ZTNQ'PZ M%ZTU][I43DCA=+.N5(Y7&G*UE7(OR=?+;(68>>F\:D5M2E4);\12"=FVE58E M/<@EPF\4@KH7CK1JH\R:E)[) MVG2-QSKI*?HIC!WOPFD.9&RP!EC8;G2QX:\^F+J5S4ZHAS8L9VYA'>TK5>:B M09;#0>#&;&' R(IR7B.^(8]5OK.-RT6I74''NPS?.PE]@*N""-TK?"TA*1() M_??R 5\B#(E!D%A94P\: &^J"?I!:)M[%02')FH-]8JU,:43= :,HXDA:96 M,ANW4M;" !"!A8X4)^)7)3;R'E+% P,]RFX%_)$D+[4BQ1E^:)S*DGV0 W_O MM L*+XSSCBV.;*QAGB!F86JP1CD77Y)V'AG7*UL[4J)IE-@I:8E[;'0<*%M- M[B!;[66E_U#\#H:T'@\9-&@Y5F053A]39#NKAT)!I$1Z(G[NX)!K#G.F-9N> MO,I99 U+%VS-_K@^/+\[*"-!S-*C2!&YD4BPH*[)^!;1/"BWEJ6BL&"5P,2B MI>RW$WTU8>T658=EO"@7G4/\W,L*#BS+DKS-P6 95L'2T4U(! /N86]=ZPK* M"^_9:4BJ6DG7!=Y)$'K%SB##J3!6H9C+&#I_J#YJNI;8BI[#>@E>ET4ZO<_A M0]F1\&.W@SR#TW( BC\9@%L5PXUH@"V%$"$*$'PCF[7*0K0;IPZ>/.B\5.0) M2&%E.--TEG:LK81'PFH*OMNR9C:P&A ( J\"Z;105LP(]S%[UC-SLNEKO"4 MN8ZS RC&\Q$&A6H])0 X3\,)S9':2['DU;YV(NPT2 MM7 [Y-PZ9 ,0;DII1X;CL&D[['*;P:#"P0IZA31 E(*S83]%_TJO.RN7E0I; M>XJFY:5\JE"4G(F=)-2(#R3#JB0)2@7G+"GQ!27B,\40%XO@@K EJ2^= 1=% M%>F5R)S&,"4%=4C_"!Y4)\"H& A+Z4EIBM,,F8,_)"G'BH-6V4MZ5>RK(!>_ M=Y)] .9I0^0&O>R9:V U H!1>F^E&_P&4#@Z/>(\X8.0PT8I.CH&O%J[)#6I MMLS@7<1N/)S<#6H;R>:"!H=Z5G2H 7 UU W.R& +#L'*#C9+P6]5Q04,"NEI M60H83I]C:3.VKG:LQZX)=M%N2"CEDYE$#)F$U3'.&7GD>JCVH!EC ]65I4R1 M,\D^C]6?&$IIA3QZS%O#:9;LMMNW6]H8TD^0?ME'5HCFD&T17#&HCI 7Z& [Y1!60/L+': M-"AI(63(J3+\[STE$C>W%^A-(4^0WA+6LIJP;(R;Y7(W((LHTC M(QM22BRMJ/'PM3+44^*:RA:#H1CD49V#MO>534*B+C<^YRS&R3LDVJYM4>"' M!?0VPQJS\EO*7]0:>M6$=)L6!??]KK:QUP"=%\WO(:2/:8*2J2'V\'KYPTQ\Z_H)DZ/<&_L?? MQB :\\GZGXA/T?'V],XJ/J#N)XR=4SWN7) QH)%X8(*T8@V.&<",@P#A:Q+- MF/M[6[G VB D^8I&=C2TZ%S\ "=JT84,JF058^[!_(=FHK*SC!RJND#>!5 MK&>LR9H+[@HMHTLK)UEJE?:36-)]6,S.WAN%$E'+<4#0,]]7N#U(;LS/:+%V M69]N17LW] W$;[*G7%O%CIIG?M<2^*>5 W)6 MH8$8=54QLB-C^1Y7^T&:X#%]8U4;NE\7"S;:0'A02M/?^R GE<1TU^I1=J&,!FTDX*^VK$O]5K)]O'N1CU7J1*U5)V@WJ% ,8%4D_*^2D?P MV51<>N#+**/4^,$%GTJP .Q0'WD6HQ&9+-TM*"LYYI0O!]VT ( MQ)HE@=+\B81,9S 7H\Z 06U?(%)@/)V&&*\\439"1#!8_?.6TLUC12#_)\N% M\T:A "D;XWDUSN&NCC),JKTC-!6V+KN=LM$:;DQHRP"<:"TYF8)8F7@A__"Q MS5N1)V]VCHH"08!Y%:V29+ *_;-!)%H/Y MX8APHXRQ>Q?G *@WAMEE7W(:KDRPG!0PL@"17G7HVM1C6%]J!("']RR9'[DT MG8\SHP/* ]++>C$"8J+^CYH"H)4X^N+3 B:(%I- M@J594> =Q4IH:I FV;7<,6H(TPP*NR'3G$ZA^UWL;GH43&SVN:M0EJ83HQ:Y MXYXV)NLL30@TPT!E&W!*]37D[F]<[VLA[Z6NN,]+L@:Y63*7-]W MFKK)*%%';:\,#<[8'FB_W>N^QE5&-MP$V#!T(2 #387N[B? US6"5P7/&KWO M[5&J&N[@8VKH&_U)]I7=86 Z>.LP"8@@0,3."A"ZHZE*'&4A3!I%8,*1KLKQ MOH9B!NU%:KB3K9DSR(M:B*;QW@#TT_"CLTOX$DM."6C$(]I?0N2$_6/#S6FC MXX:$DF0<'C)_#7EX: \,07V)_@:@S(8N<-DYJ,G!F>[&92W.8;3;\WABM$\4 M-->DFX\T?XH-*$?*.*]J;MN)'$TJ"8NYOKS0)AJ6@9,LC"497K'_#(;W[%TC M3!#4SB0<-;BU_(V&A@B1M:$>_C6$ 1;8NP$0M_IA[T5V!0&"IF@"LVN5^*6# MW]&(_P,GN^'YJ2^R%YP.3><@B?LQ^]A;Z)8)_R!F^=G%7+PXG4ZF?_T1SZ?Y M^>D%_I_GT_DIOS_A]Q?Y[.PB6Y2R))BXEP^%@_ST^S. M4/C\(,[R.:^=3F;,TGE^>7J&_Z_RL[,IOY_S^Y.3_/+53#QSX7#>7SBIO,KB>S''NX2O"^IG4/HK"D$(UP=,+O;/R:.P_O6@#ITX)V7)$"\ 7D9 M)F)4RS<&O<57RHJLF0-L,UA',,98&C%J[$II*FO?S4#&C-[S.%92^**==)*' M'5Q6 ^2DFJ@1B!EAC\)3TS2F7.H5I8=8&6B^VA>GR7,>,>\]8OZL1WP&^@73 M=_+AD \\N_>P#T2"<10>@&G;<9[T_:@+ 4.I,Z.A.^%_%!6^7:#G NJF]$QY M,F 4Z9P*ZJQTG/,QM4[X.8 6#(&+'Q:POY%G-RO M^L%0W<6)@(()PBT$3:<"+N-LW[,_MD]+-D>"HN;#!3C>0UNZ2HXW/MC*?A$-Q'4I[@1@%6Q0HQ:K:A,NG.3NP"Q1[R5(\6DDVAF,SIJ/#-:JD)V MH4)!6>@8R5&#\P7=+)7?*M4D/R?;8"VW*T&]X4J&;,\0*H8A,3J*5F@W6_7W MJJ@P=&L4"Z[N/4>TG6VA2Q?+[2.MQZ%'3"OIFD^P (P29%Q.JW_KRG68Y"=T MB>9R[R(I ,XP6CV@M8E8'#R.9I()?]* G#0QQ#A?DU#:V".914/0B"^:\]%< M,_"6)K\?%C2O+(QSO&GYIQA(/][4_'$##2M+"_#] MRAB?'NB _K&PO M=V]R:W-H965T"UR+O5@B17[\2$KT_,S%#UDB M*GBJ*R873JE4<^5Y\EAB3>2$-\CTR8F+FB@MBL*3C4"26Z>Z\D+?3[R:4.8L MYU:W%:%$JH_"6\X84N$/UM=D*+7D# M2DYK9))R!@)/"R<+KJYC8V\-OE$\RU=[,)D<./]AA-M\X?B&$%9X5 :!Z.41 M5UA5!DC3^-EC.D-(X_AZ_X)^8W/7N1R(Q!6O_J*Y*A=.ZD".)])6ZH&??\<^ MGZG!._)*VB^<>UO?@6,K%:][9\V@IJQ;R5-?A__C$/8.H>7=!;(LOQ!%EG/! MSR",M48S&YNJ]=;D*#--V2FA3ZGV4\O-_7X- ?P&-[>;;+.ZS?Z$W3[;K^_6 MFSUL'];;["';W]YO8+PGAPKEQ=Q3.JQQ]HY]B.LN1/A.B 3N.%.EA#7+,7_K M[VFZ ^?PA?-U^"'@'RV;0.2[$/JA_P%>--0@LGC1.WCWHB",_D/,-7%AQ9GD M%!/$+KQ+(%QY$_\SQ=:CMQI--/KU/63R.H#JY^Y83P;93EI%(K>.W"C,(9Q M,DFU2>#&8:#ADN02QK-)K%6AFZ;A:,=/ZDP$VD[>Z2FET'0/>Y!T.H5Q:.U3 MS21P9WZJX]JP6DBBT9XKW>E/$+N)M?4GH:4T==,HUNNE&\>^U2=6'P1N>AG" MKVZ!]^J=UB@*.XTD''G+5/=D!^TP\++NG?]GWDW+.R(*RB14>-*N_F0V=4!T M$Z@3%&_LJS]PI6>(W99Z:*,P!OK\Q+EZ$4R X3>P_!=02P,$% @ $I,, M43MI,@1J @ [@0 !D !X;"]W;W)K&ULA53? M3]LP$'[O7W&*]@!2(8D36H;:2A2*UDG\4&'P,.W!3:Z-A6-GMM/ ?S_;:;-. M@NXE]MGW???=Y"NYT..@,*:Z"$.=%5A2?2HK%/9F)55)C375 M.M250II[4,E#$D6#L*1,!).1/WM0DY&L#6<"'Q3HNBRI>I\BE\TXB(/=P8*M M"^,.PLFHHFM\1/.C>E#6"CN6G)4H-),"%*[&P65\,4V=OW=X9MCHO3VX3)92 MOCICGH^#R E"CIEQ#-0N&[Q"SAV1E?%[RQET(1UP?[]CO_&YVUR65..5Y"\L M-\4X. \@QQ6MN5G(YAMN\SES?)GDVG^A:7T3$D!6:R/++=@J*)EH5_JVK<,> MX#SZ!$"V .)UMX&\RFMJZ&2D9 /*>5LVM_&I>K05QX3[*8]&V5MF<69R=_\T M P(G,+][GMT]W2_FLTJ)+COIX%!H;PCF&V99NVM*13^@&<"N%*33,1([Y MO_C02NOTD9V^*3E(^+T6IY!$?2 1B0[P)5V^B>=+/N&;BPT*(]4[7#.=<:EK MA?#S"%KFB&X\#.F$:UP<#5 'T- MKC'#*D M4C)#K2'N#P9#^SU/2.^&"6;[)X>UE+F&KRF!X9#T]M*P-&E_F,1V/>O;WP ? M52G&PO=V]R:W-H965T8B^W0:3O[@T6V2;4Y M\$:#DFWP'O5#.9>T\QJ6)"N0JTQPD+@>.N/VQ>3 PFN697KA=A^Q5T^'<,7BUS9$;9U;"=T(*Z4%L4.3 Z*C-]G5X0#0 M\S\ !#M 8'W70M;E%=-L-)!B"])$$YM9V%0MFLQEW/R4>RWI:T8X/9K=+:<0 MPF>8+^[FT\7REPOSF_%L">/9%4R_/US/;Z>SI0NSZ1).EFR5HSH=>)J4#=Z+ M=RJ36B7X0"6"6\%UJF#*$TS^Q7ODN+$=[&U/@J.$WRI^!J'O0N '_A&^L"E# M:/G"#_CFDJZYU*^4?J M-%*NU<*]E@L<]7L%/DIJ6O="E2S&H4.]J5 ^HV.*A+9(5QACL4()8=MMG60< M="HJ1;KJM'6#=*=3D2>0%:44SVA<*/@$8=^W8Z?U5HB.&T61&?VH=<_H+E # M%(*;XM@>:]* OM^!;K?7BMQ^U(;([7;[)*44M6%<%57.-"8$)K-Q5F,[;MCI MT]ANMUO[&KU3&_+4)OV@GJ,>O/=+O(.&*%!N;-LKB$7%==T;S6GSLHSKAGH+ MKY^E6R8W&5>0XYJ@_EFWXX"L6[W>:%':]EH)3COU!+ P04 " 2DPQ1:@A@6.8" "#!@ &0 'AL+W=OS#)0*PZ-FL[A?[['3N0MMO")?''S'LS+_9+=Z/TLTD1+6PS(4TO2*U=7X:A MB5/,F#E3:Y2TLU0Z8Y:F>A6:M4:6^*1,A%&MU@XSQF70[_JUJ>YW56X%ESC5 M8/(L8_IUB$)M>D$]V"_,^"JU;B'L=]=LA7.TC^NIIEE8HB0\0VFXDJ!QV0L& M]W62<](*:*P@%QM8A,'J]X!4*X8"HC+\[S*"D M=(GOQWOT'[YWZF7!#%XI\<03F_:"\P 27+);9_=_\P@B9\A_N'F]$,!E=7L\?1-4S&@^%X,GX8C^9P M\L 6 LUI-[1$Z-+"> <^+,"C ^!MN%72I@9&,L'D8WY(A9;51OMJA]%1P)^Y M/(-&K0I1+:H=P6N4W3<\7N, WB".=8X)3#A;<,$M1P._!PMC-9V6/T<(FB5! MTQ,T#Q#4JZ7##@IC>0LO[/F6:>K+@, EI=;. M.J2>+BROF%BU]C:S4)9,RP]3^DN@=@&TOU3*[B>.H/SO]/\!4$L#!!0 ( M !*3#%'*Q@-D$0, -(& 9 >&PO=V]R:W-H965TQRPLLA;LR%6H^ M.1A;"N*M/<:NLBCV 52J.!V-9G$II([6RV![L.NEJ4E)C0\67%V6PCYM4)G3 M*DJB9\-G>2S(&^+ULA)'W"+]63U8WL4=RUZ6J)TT&BP>5M%-O_@\)?$ MDSM;@Z]D9\P7O_FX7T4CGQ JS,DS"/[[BN]1*4_$:?S7RI6T3R"/1Y$K>BS.?V&;3TAP=PH%W[AU/A.LPCRVI$I6S!G M4$K=_(MOK0YG@/GH#4#: M*0=Q,H9/E!D%@OK3F!]=[,YA>AU(#FY*3V3=F2 MY5/).%K_89O#):"H< MW.H][G_$QYQ5EUKZG-HFO4CX>ZVO8#QZ!^DH'5W@&W>EC@/?^ V^.^3N.?CG M9N?(\FWX]P+GI..7;(35E*XDM+[C4%+Y+Y]W?M*I'C M*N('YM!^Q>A[A%Y?:J#"U$[HO1OTO"K0M^A?'A\/X!<8SQ-O3B!+PB*%<9+Y MQ1@6P3"!^;CW6" _WP.AA622]!X-"<7@Y%V63GIWZ!Q\+*N:< ]2LQ,Z@GZR MF,.@=34O:E92[*22)%E<3S--9W!!VFDG[?2BM-NZJA1Z*3GF3BBAS@ ^98[EC'<>(/D\7+'H49 M-S2'8>0'/3OC#X.6=@2#'$K6OL@:)A)-G^U@_'9G"G1'L,T M=7SI:TW-R.FLW<"^:>;4=_=FVG\2]BBUXYX=&#JZRKA%MIF@S89,%:;6SA#/ MP+ L^*.#UCOP^<$8>M[X -UG;/T_4$L#!!0 ( !*3#%&!%*##$P, "H' M 9 >&PO=V]R:W-H965T(!NZ+7.B)EQE37ON^3C(LF.[*$@6=[*0JF*&MVONZ5,A29U3D M?A0$ []@7'C3L9.MU'0L*Y-S@2L%NBH*IK[-,9>'B1=Z1\&:[S-C!?YT7+(] M;M!\*E>*=GZ+DO("A>92@,+=Q)N%U_.>U7<*GSD>]*,UV$BV4M[:S;MTX@66 M$.:8&(O :+K#EYCG%HAH?&TPO=:E-7R\/J*_=K%3+%NF\:7,O_#49!-OY$&* M.U;E9BT/;[&)IV_Q$IEK-\*AUHV''B25-K)HC(E!P44]L_LF#X\,1L$)@Z@Q MB!SOVI%C^8H9-ATK>0!EM0G-+ERHSIK(<6$O96,4G7*R,]/EQYL%C. Y+&;K MY;OEFPVL%FO8O)VM%W!QP[8YZLNQ;\B3U?>3!G5>HT8G4 ?P00J3:5B(%-.G M]CXQ;&E&1YKSZ"S@^TIT(0ZN( JBX Q>W(8=.[SX!-Z"*<'%7L,*%6PRIA#^ MFFVU4?1*_CZ#WVOQ>PZ_]V_X)>%KB_^K))[%L.5XK4N6X,2C>M.H[M";WF0* M\4EV85Y9<@1'J.\R*76EP_VUYTE]1,N$EG@\? 97(1707\(=AE&PUHP M",-:T(\[KU!(>N)/'9YS\L75'*;/V1WQW&,MUS"ZBH.(QHB\T3@([3@*.HNB MS.4WRA^557(+LK2-0;N0V($I2D1O ,,^]$-XT?^)SG^(>I;^0R5+=W(XP>P/ M5I1_=IBF'DA:B11TK!T)N?N!%071&]DQMJ'$H1N'_<[\=Z[A1AJ6-S=W4LW> M1- -8W<109=25PM>M((&IW'X?Y#@5\7E/^I?].+VKDMK2D\E3-W*6FG[$@7O\B'YC:<\I>CCLR#;K#O@>J[LSUQLC2=<.M--1;W3*CSPR55:#SG93F MN+$.VN]Q^AU02P,$% @ $I,,420+^(!U P 2P@ !D !X;"]W;W)K M&ULM5;=;^)&$'_GKQBY574GD?@+3)("$N0X72HE M08&T#U4?%GNP5[%WN=TE)/WK.[LF+IS ?>K+?GGF-[._F=GQ<"?5BRX0#;Q5 MI= CKS!F<^/[.BVP8OI2;E#0E[54%3.T5;FO-PI9YI2JTH^"(/$KQH4W'KJS MN1H/Y=:47.!<@=Y6%5/O4RSE;N2%WL?!$\\+8P_\\7##=[,%>W\!B7C M%0K-I0"%ZY$W"6^FB95W K]SW.F#-=B;K*1\L9N[;.0%UB$L,346@='TBK=8 MEA:(W/B^Q_0:DU;QZR8AIO9?D'STPQ\JX\R'#-MJ5YDKMON+]/ MW^*ELM1NA%TMFP0>I%MM9+57)@\J+NJ9O>UY.%"X.J<0[14BYW=MR'GYA1DV M'BJY V6E"ES.XA@M8?)L\S2ZFD\7L"]P^ MWL]G#XO)\N[Q 3XMV:I$_7GH&[)GM?QTCSVML:,SV G<2V$*#3.187:L[Y.? MC;/1A[/3J!7PMZVXA#CH0A1$00M>W%P^=GCQ&;Q%P11>V*!F,&?OE&L&)DHQ MD:-==^%!BI3I F9O5 0:X<_)2AM%F?17B_5>8[WGK/?.6+^K-H0$E)I48HK9 M)-4@UY3JJ509%SGH _]265D?G-BI4+3:LJ5]H\D@H/[_H?.("3"&WFHE,?^[<2FWL/7(I,PU:EAG\#&'?#@$-46A7 M2>>)W& J+8"TJ(Y>Z7W8N B$<422,837"LEU9RD-"9[CCQSH75DWXJ1'XR"V?B6DWA+5?A/5?FM4 M9]^WW+P#VS&5U6\.;4\%K!7F_PT846\43XW5-S)]@6?!C89XD'3I,8>(Y@'- M/^P[M>SCIL[47WZZBL+H5Z*]&Y#0#]L6)I.&R:25R:];LU4(6!-Z%#^LZ_$4 MK:V8IVEM>'D6K)+*\+^)F/5_6H?CO+>IW1W$(;%KFZ&MWYWK"03&7BEQJ1(((;I,XI/,^0JWOCEM.N6D;A#_BM=M M]IZIG%/X2ER3:G YH#Q4=>NJ-T9N7+M824/-QRT+ZO:HK !]7TMI/C;60//_ M,/X'4$L#!!0 ( !*3#%&H(\-1=P, /D, 9 >&PO=V]R:W-H965T M='QE&80Y*$QT:AJNG*";:=)SWK=AT3#.1Q 2O M&.!9FB+VYPXG]#313.VE8QT?(J$Z].GXB YX@\7/XXK)EEZQA'&*"8\I 0SO M)]K,O U,2P'RB/]B?.*U9Z"D/%+Z2S7NPXEFJ!'A!.^$HD#R[PG/<9(H)CF. MWR6I5N54P/KS"_N77+P4\X@XGM/D_S@4T43S-1#B/SG:#E?,5$+92.8?!M+G)@N?VP# M8()_P9?[Y6PYOY]]!YOM;!L\!,LM6*V#U6P]V][_6(+! @L4)_Q&QO[<+,#@ MTPWX!&("MA'-."(A'^M"#DC1ZKLR^5V1'%Y(;H$'2D3$04!"'';@%_UXMP>O MRXFH9@.^S,8=["7\EI$AL(S/ !K0Z!C/_,UP<]0EYV/9@W=G/YL,JUH:5LYG M7^!;XR=,,MSI:X%TW[/.@13MH9-O&>5#0#C)- M?P2KJ#-]=J7/[M4WCQ Y8+6$6:&T2V@_Q0 :0VC\<]/E]76DVT*>Z7 J'4XO M5? [BX_R[!9@@Y*F76>,;L7HOMMYMV4%M#VWX7P1Y-2"+,?R&LZWF1S#M1K. MMYD\F:_;>*^2YWW<^'Z*@64,C0O&7T>:_<;[E0Z_EVH6HJ/ [*KMHXIO]&[; M1^T=:,'&7IZ/6F:9-C0;MK>9H.N.&K:WF:#O7]COIO%ZUQD?-_X*Q\ =^A>, MOX;TAG:_\6;MUC9[N39T+TZ(82 O7O @ZT&!"2([W$<.7\GAN]=!":W;Y[<. M_JZ@YAFQZ @R/<-O+(3.J-HI<2[Q]6HS^^^VMZV$?HX![/"SU'8%:5T\ O1: M*9=B=LAK: YV-".BN+JKWJI.G^75::/_SKR=FQW]"U77YZ7C*WWQ4?" V"$F M'"1X+U,90T]N/U;4V45#T&->2#Y2(&FH!-77SO0O M4$L#!!0 ( !*3#%&NQ31C;P( "P& 9 >&PO=V]R:W-H965TND 6HY7$R[<)._C45B M9[;3P-O/=M*HT+3:3>/#_YU\:MPP_B9R (G>RX**L95+65W9MDAS*+$X9Q50 M-;-BO,12=?G:%A4'G!E06=B>XT1VB0FUDMB,/?(D9K4L"(5'CD1=EIA_W$#! MFK'E6MN!.5GG4@_825SA-2Q /E>/7/7LGB4C)5!!&$4<5F/KVKV:1+K>%+P0 M:,1.&^DD2\;>=&>6C2U'&X("4JD9L/IL8 )%H8F4C;\=I]5+:N!N>\M^9[*K M+$LL8,**5Y+)?&Q=6"B#%:X+.6?-#^CRA)HO984POZAI:\/(0FDM)"L[L')0 M$MI^\7NW#CL -S@ \#J ][\ OP/X)FCKS,2:8HF3F+,&<5VMV'3#K(U!JS2$ MZEU<2*YFB<+)Y/[AZ19YZ S-[E]N[Y\>YK/;!3J9@L2D$*=J_'DQ12??3M$W M1"AZREDM,,U$;$LEKBGLM!.Z:86\ T(_:WJ.?.<[\AS/&8!/CL.GD"JXJ^'N MY6>XK2+WN;T^MV?X_ -\,[H!*AG_0%,BTH*)F@/Z?;T4DJN3]>>(@M\K^$8A M.* PQXW:* F!&?=$G8T%O+#AJ[%7= MJS-"SRK.4A"#6]D2A#NR;A2-OG@;*+KPO6%O8>\M/.KMCE"B#G.&UHP-G[)P M3_4R^+IJ^S6CT0%C46\L.FIL>UX(#+J*]O8I&/GN%UO[1:&Y"Y]\V3MW6;^C MOS!?$RI0 2L%<\Y'*A9OWZ:V(UEEKO>22?58F&:NGG/@ND#-KQB3VXY^,?H_ MB.0?4$L#!!0 ( !*3#%')GG*XVP( ,X' 9 >&PO=V]R:W-H965T M80E=OC)%P0F.M2BCIF-9OIGA-#?Z73T6\GZ7E9*F.0DY M$F668?Y^1RC;] S;V U,TU4BU8#9[Q9X169$/AXG3C.0B93GB9-DS M!O;ML*WLM<'WE&S$7ANI3!:,O:C.?=PS+ 5$*(FD\H#AMR9#0JER!!BOE4^C M#JF$^^V=]\\Z=\AE@049,OHCC672,]H&BLD2EU1.V>8+J?+QE+^(4:&_:%/9 M6@:*2B%95HF!($OS[1^_5778$]@W)P1.)7#^5>!6 E),/X\F\A2;C.;H<$8E3*J[099HCF;!2X#R&[B?T/!NARXLK=(%@9KZ; MZ9H2$%4@,ZIP[K8XS@F>\!=R."YKF M1*@' ILQ831&:59PMB8J1&,%MWY\[4<=TG7?[4"MUOME:K+Q:IL/@#3>6=I9IA2N#89BQ72Z%O!G(.U#MBZ%C> M >>Q31"TFS']&M,_B[G;2'H'U8!HQ9EH7&/_",'O^/8!9X-1$'2:08,:-/C+ M-A0"[M:HS$J*)8FAMO Z1*DN;1-I<+RHKM&PO=V]R:W-H965T< MQ$ZP8_Q5) 2O:4T$STCD7)S;YHB2B#%XHYM(%,K*\93+-64KTVQX8#C0I12 MT[$LSTPQR8PP*)Y->1BP7%*2P90CD:*PZAE]^W[0T?%%P \".W$P1KJ2)6.O>C*.>X:E M@8!")+4#5K1IU2"P_'>_>O1>VJEB46,&#T)XEETC,Z!HIA MA7,J9VSW"%4];>T7,2J**]I5L9:!HEQ(EE9B19"2K+SCMZH/!P*[=4;@5 +G MLP*W$KA%H2594=802QP&G.T0U]'*30^*WA1J50W)]%N<2ZY6B=+)\/OS8H1: MZ!8]+QY',]0?#&8OHR&:C/L/X\EX,1[-T?40)"94W*!KDB&9L%S@+%;36_0R M'Z+KJQMTA=3*8K\2F%*1:7\SJB@>2@KG#,53GMTAU_J"',NQ&N2#R_(A1$IN M:[G=_2@W53_JICAU4YS"SSWCUX\BGD.,)@0O"262@$"_^DLAN?KJ?E](X-8) MW")!ZTR"":@O#]'*_EUU4B2,2R2!ITW=*]V\PDWORVWH=9W W!ZVJ"'&[]0Q M'S!;-6;K(N:4LSB/)-IASG$FWYO02H?V05JW91^A-<1X?C-:NT9K7T2;8ZI> M"@>92<)NYXCI M-,1VO&8HOX;R_P_5A..?MNCX!9Z&V$ZK&:=3XW0^T2-<[33Z;Z/(!N"7-\YHC0/CDK]F_J&^9ID E%8*9EUYZLB>7GTEQ/)-L7IN612G<7% M,%%_2^ Z0*VO&)/[B3Z0Z_]O^!=02P,$% @ $I,,49#I&'64 @ 8@8 M !D !X;"]W;W)K&ULC97;;N(P$(9?913UHI7: M!@($5(5(G%9EU9. ;B]6>V&2@5AU;-9VH'W[V@YD67'8O4D\MN?_9CSQ)-H( M^:XR1 T?.>.JZV5:K^Y\7R49YD3=BA5RL[(0,B?:F'+IJY5$DCJGG/E!K1;Z M.:'K>[N)"5UFVD[X<;0B2YRB?EV] M2&/YE4I*<^2*"@X2%UVO5[_K=^Q^M^$'Q8W:&X/-9"[$NS7&:=>KV8"08:*M M C&O-0Z0,2MDPOB]U?0JI'7<'^_4O[G<32YSHG @V!M-==;U.AZDN" %TQ.Q MN<=M/BVKEPBFW!,VY=YVVX.D4%KD6V<304YY^28?VW/8W8\FT!L, M)J^C(3R,>_WQPW@V'DWA+^G!"7H(CX+K3,&(IYC^[>^;3*IT@ETZ_>"LX/>"WT*C=@U!+:B]3H=P M>7%U1K91G5+#R39.R/:21!:8P@,E<\JHIJC@9V^NM#1?U:\S@&8%:#I \P1@ M)_QY#7-<4LXI7YJOC1&>X+%C+=5"IV;OW3INA.W(7Q\)H56%T#H;PI/I /AA M+KO"HY4LO5O[R&;].#*LD.%9Y!N1DG#]"0DC-#]*#0^H-R>Q[0K;/HMUU23, M])0UMW\;Y&1I_^H<.>PP@=Y^WOW/D>Y=-U-02(*KLL6 M4,U6#;17]HT_V\ON^TBD^>P4,%P8U]IMVV0NRXY6&EJL7!>9"VUZDAMFYB> MTFXPZPLA],ZP@.JW$G\!4$L#!!0 ( !*3#%&J&SXTEP( %H' 9 M>&PO=V]R:W-H965TI%*:\$0/E(1 MI'Y-6]5M5=-N%],NG. $JP9GMFG:?[]CD[!L0'(#/L;G?=X#^#C="/FB"DHU M>BMYI:9.H?7ZPG75HJ E4>=B32MXLA2R)!I"N7+56E*2VZ22N[[G16Y)6.5D MJ9U[D%DJ:LU911\D4G59$OE^1;G83!WL["8>V:K09L+-TC59T1G5S^L'"9'; MJN2LI)5BHD*2+J?.);ZXPC;!KOC.Z$;MC9$I92[$BPD^YU/',XXHIPMM) C< M7NDUY=PH@8_?6U&G99K$_?%._:,M'HJ9$T6O!?_!SKY^>[I%(3I#][>7L]L9&MU0 M31A7IVC$*J0+42M2Y1">((B?=G'J:H ;"7>Q!5TU('\ =%=7YRCP/B#?\[WG MV0T:G9S^J^*"]=:_W_KWK6PP('M/X9,H]/-RKK2$3_SK@&;0:@96PN _59(5[J!@/H,(6%1Y# M^7VHL(,*<-R/BEI4= P5]*&B#FHR4%3Z0DJ"?E+2DY"#IJ:#0 M 9>:RCY>TN'A\4!IDQ8X.0P4FO ^UJ3+BLU;Z(-A[V]/\ [B[JE2%XB5ZUK3 M'/8]%$J5[MWS7L? &9XD P;VFA(^7B^"HT<2#3L0<;/+$6=DSCC3[[U.<&=' MXM"/_G/B[G5*<^I\(7+%*@6 ):1YYS%4(IM&W@1:K&WSG L-K=@."SC\J#0+ MX/E2"+T+3#]NC]/L#U!+ P04 " 2DPQ1$':"GG," #^!0 &0 'AL M+W=O2K:0M*(T'+ MM"$V*@K;P[0'-[EM+)PXLV\H_/O93AH5:-'VDOCCG.-S;N(;;X5\5#D DN>" MEVKJY(C5N>NJ-(>"JE-10:EWUD(6%/54;EQ52:"9)17<#3QOY!:4E4X2V[6% M3&)1(VSX"9Q13>P!'RH%E+/W$XE8P64 MBHF22%A/G0O_?!89O 7\8+!5>V-BDJR$>#23K]G4\8PAX)"B4:#Z]00SX-P( M:1M_6DVG.](0]\<[]<\VN\ZRH@IF@O]D&>939^*0#-:TYG@GME^@S6,-IH(K M^R3;!CO2X+16*(J6K!T4K&S>]+FMPQ[!'QXA!"TA^%="V!)"&[1Q9F/-*=(D MEF)+I$%K-3.PM;%LG8:5YBLN4>I=IGF8?+^]OR(1&9";JXOEU9+TYH"4<47\ M/NFQDF N:D7+3/4UYF$Y)[V3/CDA>N=^MQ.[J(T8.3=M#[UL#@V.''I=EZV%7 O7U MM\-<-VB0!J#WUT+@;F)Z0-?RD[]02P,$% @ $I,,46)T< _1 @ 1P@ M !D !X;"]W;W)K&ULI59=;]HP%/TK5U$GM=)* M0@(AK0")4J9UZI=*NSY,>S#D0JPF-K,-M/]^M@,I'R%;U1?BZ]QS?(Y] MZ&:$,J?;MG/WHMOFH MGF;W0D=NP1+3#)FDG(' 25GZ;A&_-4VE]8YKEAZ,!X+A7/5F"M(*,L?Y+7U3YL /SZ 8"_ OC_ M"PA6@, :S9596Y=$D6Y;\"4(DZW9S,#NC45K-Y294QPJH=]2C5/=V[O' 33A M%*X'O>%@",>7J A-)=P2(8C9XA,XI@Q4PN>2L%B>P!'H^'$=MUVE91@R=[Q: M\B)?TC^P9 WG*E$PH#%&)?@^]7XL +O:OO%'OCK/;CP*PE_S%D- N\K^)[O M/0TOX?CHI$S69UFVQ 7% 066-CA >XVZ2"7\ZHVD$KKH?U=P-@K.AN5L'.#L M$YG C- 8=!L W1',2;,II&8M2"D9T90JBJ6'FU.'EMKTB$6W'IVUW<7F3NWG M!*U&D;.EN5EH;E9J?K8?),9 %EKN%'4+,4WJ7;9"D97IK:8-X V)D."?04S> MR@SW/T&PY30LG(8?9SID ?$Y99K.9KUCSO2YFQ#\.V[+0*.ZU*GKN= M\AISJ4H+J[5?6&%CI[#VH;)ERH4U,]_Q(8[2T>[G6&8FJO, GV@/.V7WI^Q=X0,:5,:MD3#?5J+5VI(K^V M\D#QF>W\(Z[T/6*'B;[I49@$_7["N5H'9H'BOT/W+U!+ P04 " 2DPQ1 M1;ROB"T" !N! &0 'AL+W=O8VCFU>8,EM2V]0N9V5-B4G%YIU;#<& M^3(4E3)F2=*+2RY4E*5A;6JR5%_[U'J73]J1X>%9[$NR"_$ M6;KA:YPAO6RFQD5Q@[(4)2HKM *#JWYTU[Z][_K\D/!-X,X>S<%WLM#ZU0>/ MRWZ4>$$H,2>/P-VPQ0%*Z8&]>\!]/]<>+]?2AB_LZMP>BR"O+.ER7^P4E$+5(W_;G\-1 6N? M*6#[ A9TUT1!Y9 3SU*C=V!\MD/SD]!JJ';BA/(_94;&[0I71]GD:3Z"'GR$ MI_G#Z!D&3^/QXWP\FLQG<#E$XD):F'!CN#^\*[@ H6!>Z,IRM;1I3$Z"!XKS M/=U]39D.XO+CZ&R5V#31=L*8+%F [9V 'NBP%.:^0 M!2<,!EJ14&M4N4 +0V%SJ6UE$'[<+2P99X6?[[!V&M9.8.V>89U6)B^<(P*E MI@(-Z(44:^[]=O)P:KQ>P//799NUW>U)X^T)%=U&1?==%75M#Y=1V!J=]8%NY!0.,3 MW/Y*:SH$WJ3-$Y/] 5!+ P04 " 2DPQ1'Z44OND# "E#0 &0 'AL M+W=OZ0RRL6Y(&EWY-8;NZ,OH%BLL+; M5"[8[BNI\O$*O8BE0OVB786U#!1MA619188(LH26__BC\N& #IZ@E,1G":A M=X;@5@2W+:%7$7IM"5Y%\-KFX%<$OVT/044(U&"5[JJAF6")1T/.=H@7:% K M'M3X*C:,2$*+2EQ*#E\3X,G1T^_/(>JC&Q2.%T^/3[,EFH<+M/PZ7H2H\TB1 MW+"MP#067Q#YB$@N44Z@D#>8$Q1#A]>H,R$2)ZFX!I&7Y01UKJ[1%3)+C$ ) M12\TD<"_*IZ?]WI#4T+X11!F5(5Z7X;JG G51=\8E1N!0AJ36,.?7N;[%_@F MV%9[Y^R]NWZ MDB^[]56WQ:[Q/KJQ+2\8FN^'A:1!>5[O�Y!=E.0R@\Q3C^,62JB\BW[6/4 M3-.9Y]:8(X^]VF/OHL<30AFL< V7=<[NU 8#MN-W&)4UV:\UG>1@P=+:74;@ M'83==RVG8:0&Y#2'9*H#^4V7=*"^I;?)KVWR+]H49GG*?A!(6K+H#;&\V-*% MJD:\PSQN8X-_$E>O40:34TC@-2PXA7A- TXA T^??E"G'_Q2E5R:@3C^&W90 M^+@OF)M&P2C3!)S" !,Q"A^%,I.M&NY^;FF@J:Q>OV&J#N0VRF^J ]D-T$P' M"LY8VZ^M[5^T]IE)G#:G7;ET_715EWLI&QPN&5;7=AO)GZ*L;G/N3?52@T;V MGT@=93^HLQ^TR/ZDG-KD/VB5_RE*D[]>JIG_)U)E_N;!J1!VK[4Z\ NH\RV5 MY 0N7E MI:!\D2Q79])7)N&$JQXW<(\BO # ]Q5C@69#L\C#L0;&96*@L>9+<='\_27;< MM$N"8'NQ18KG')&2J,%6R'M5(&IX+!E70Z_0NKKQ?9456!)U(2KD9F8M9$FT M,>7&5Y5$DCM0R?PP""[]DE#N)0/GF\MD(&K-*,>Y!%67)9&_Q\C$=NCUO)UC M03>%M@X_&51D@TO47ZNY-);?L>2T1*ZHX"!Q/?1&O9LTMO$NX!O%K=H;@\UD M)<2]-3[F0R^P"T*&F;8,Q/P><(*,62*SC%\MI]=)6N#^>,?^WN5NB&VM]CFT[=\F6#*?6';Q/:O/,AJI479@LT*2LJ;/WEL MZ[ ',#R' 6$+"%\"XB. J 5$YRK$+2 ^5Z'? ESJ?I.[*]R4:)(,I-B"M-&& MS0Y<]1W:U(MR>TZ66II9:G ZF7W^DL(UO(5TM)A]G'U8PCQ=P/)VM$CAU10U MH4S!C$A)[(:^-H&J(!+5P-=&W7+X6:LT;I3"(TH1W FN"P4ISS$_@)^>QE^> MP/LFZR[U<)?Z.#Q)^*GF%Q %;R ,PN# >B9GPWOO#J7S?^KI/ZL_*T;4G8/( M\45'^%(B.>4;!7.4L+1;##]&*Z6EN24U?88@:AL MEU"@!52US ISTT^@?\4]."FX[Y1-_T M[SLB-]04D.':2 475V:MLNF)C:%%Y2[]2FC30MRP,,\(2AM@YM="Z)UA!;J' M*?D#4$L#!!0 ( !*3#%$.&F2F+ , $D* 9 >&PO=V]R:W-H965T MH#ZW4%L)7FBJ)E 36;5(_U'3;LQMN M AK8S':2[M_/!L)2H*C:^I+8YIYS[SD87X_WC/\4,:*$ERRE8F+$4N;7IBE6 M,69$7+($*:ZD9B#J;X<+3%--I,KX57$: M=4H-/!X?V#\5VI669R)PP=(?223CB7%E0(1KLDWE(]M_QDJ/I_E6+!7%+^RK M6,N U59(EE5@54&6T/*?O%0^' $43S? K@!V$^"^ 7 J@//>#&X%<-^;P:L MA72SU%X8%Q!)IF/.]L!UM&+3@\+] JW\2JC>)TO)U=-$X>3T[OXIA!%

_IR?P>G 4J2I.(,3A,*,F9;06@DS@%?5IA+R%%M MNYAPA$@5<*:HOBT#.#TY@Q-0@*<#8&Q*5:_.:JZJVN9E;?8;M3EPRZB,!80T MPJ@#'_3C_1Z\J7RJS;(/9LWM7L*O6WH)CG4.MF5;'?4LW@T?C+KD_%_V\)^S MOS+#J7>.4_"Y;_ ],4G2\LU?Z$\U@A7+U/$EB#X!NMYVR><7?/K\VDW=J\'8 MW!T[V(YQ?/=U3-".&3K6ZYBP'>-[?W.]$NS6@MU>P0LF)+ UW# 6"5BRM&]+ M>36I]\$NEGS>D;*!US"Q(Z3A3] .L1NO(NQ@\;L=]&NQ?J_81Q1(^"H&=1Y M@#O5I7+5OC!/@[;\AR[861'C.4TG.R(&?D-*SMB_#>\O*H%7_4* M7JK>FM#-.=P@1:ZT:T]GD6H1B9",R<-$)ZAOC],_4$L#!!0 ( !*3#%')(M&PO=V]R:W-H965TBER*D9&*F5Y8YHB3DF!Q14K"86=%>,%EC#E:U.4G.!$@XKD M\:,3C%DN]!-MZMB!9:"X$I(5#1@R*#):O_%+"D M/WMX#-$UND31;; (+\=!%$[1Y.%^'LZBX/'N888^38G$62Y0[S.$B11S(CQ3 M@K9B,.-&9USKV$=T''3/J$P%"FE"D@[\]#1^< )O@N?6N+TU/K9/$GZKZ!5R MK MD6[;5D<_D;'CONLO._ZF'_ZS^[C"<]A8XFL\YPA>IKWJI?K@$S?$KU &) M LXQ71,UOD S1F,L4A2^0($2!/T*ED)R^,M_GU#OM^I]K=X_HKX@P)7%$L3A MOL=/J**9[+QC-8^K>50%?/:=X0!*HF<^[WZZPS![.!CNATW/8PL_9'MGVFU- MNR=-1]HI*U6Y[/3J'LCNVSR,L%WKP.6'/.%'/+4_&PO=V]R:W-H965TH#ZW4-B$4V*H0*12F=E(I(NWV,.W!)$=B-;%3VR%EOWZV QF3@)?DSK[[ MON_L.P<-%^\R1U3P619,CIUK>=6628TGD+:^0Z9TU%R51VA69*RN!)+5) M9>'ZGC=T2T*9$P9V;2'"@->JH P7 F1=ED1L)UCP9NSTG/W"DF:Y,@MN&%0D MPQC56[40VG,[E)26R"3E# 2NQT[4NY\,3+P-^$&QD0GUZF2T)2V7@*JW X+C)CFW2 MLODGV(;PS)G*)V_Q%"XOKL[ M]KM3Z5O8_@G8."<";\QMI[ @6]V$"B(A",O0V-Z8T@)5MY[$#=@X8O461VK*4^GIJIMO>[U>[EB-J!^1?> M/CO/1&2422APK5.]VY%6*=I1;AW%*SL^*Z[T,%HSUZ\?"A.@]]>&PO-2Z^IS$-1I"9S4%[("82*Y M5)QHXZHBJ"L%)*OM(LZ"Q7R^"CBA B>1:/@-US5*92-TC!<#A/SP+8MQN'J/ MD:>[EAG$^.'L[:]&ZJLWR(^S=[/9_.'\ZA _J@ MVT,2Y5*,6[G$'C"Y"0>T)2S&UX31C:)V54XX93L/+RR02B85TJ:&1DQHD?K1 MAT/OV?)V/)P*J5QNG\%_-]WT@T#O68&4L;U:6R")*J(U*'%C'#?9@4]"J+/7 MN\HH+!39A8LE'A>XP2392)6!&M*$N(>2B$%NY2A:E';4L@IL4&O)C9%14DA! MG(9^16<8VA08N[=G[V>^Q]WFD[\ZM_]4#*81U)F>QCN6?\KFN2>T'U]%BRJZ ME?IK8W8CG&_/"MPIR&GK_#8?\A]C#X^SDZIBNR^,%H*#W_N+$R81Z=>A4BKZ M:++9DY(: !1&6U":IE/DMR+5&EK=GZ8V/ZYY\1]J_KMU+D" (FPJVAS]4Z[R MJQ5??OA7DEU3.13\K,;N/CEUD^W%^(>]8MF8%&T: MRC05G5?2+ /QI"L;>DTVYIVQQV_F9Y"3ANGU$(SQ:-]"1AO^:9AU9PO1S1KM M[W9[X*NQS $P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W M\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'"_D\+XIG\C-+ M\W)@K97:7-IVN5CSC)5?B@W/X1"GF(A7JU\"J_TZY13*1BTR\ M\>7 ZEBD7!>OXT**MR)7+(T7LDC3@>7L+CQPJ<3B77-<029L7M8MBLUG#$ & M5K\#':Z$+%5]1]T_ \87#C?OSK:JN!6IXG+$%+^3Q78C\J>J&W@*6WN,N@[[ MXZZ(E_)_REBL5F+!1\5BF_%<[>HH>5H!YN5:;$J+Y"SC VM_"V'YDOBY@B*1 M(-]U!?=63PH_'2QW3ZT 5ZNAO!1P00;+&OQXD,,HC*-),/(2?T1NO(D7#GT2 MCWT_BP".\8P.P"9I2,_1GQAL/9=YB4D\"["29!HF.BICFR:FK,'F!. M?"]N#+&#N<4YLEQJK/Z?ZD$,W@=)G8HZ(286Y\AFJ0G/@! R)PG".Q_>Y&;] M,*,X1U9*37<.=+XW"X$N)O"J@)V]F:\C8CYQCBR4&O$"$&NJTQN8?J/:=WX8 M>TF@8V)&<8ZL%#2M&__F.)A3G#:E\NCJF)A5G!:T0C[!.B'EY8D.B0G&:=,P MC2&GF&%HFX9I8F*&H68-\]%H4W098T(U'T=EQ:IC8KZA)GQS*"Z;HXV)AYH0 MS\$:<,_!(-)#G6+NH2;<Z@) M]QS$;$Q-S#[4A'WTO-S/RFKKARA]7P6SCVO"/A]@$N?DGSTJ%[./:]H^>\R0 M2$A0YBZKGI8A9R35CH(&9/Q\0LY-86LO=?(I9\)7*^#.$G2FA?L'0QE:0Z M[/9(NKUJJ;+:IND0VJ)\4K#E_L/&_J/,]6]02P,$% @ $I,,4;>]PDN! M 0 *1< !H !X;"]?1/L:O"[1N%1?A0%]T@SRJRHXS?U:/(VR]7 MY>'2-KZ\=#ZYU57C,U.&T'U8ZXO2U;F?M9UKAC>GMJ_S,"S[L^WRXIJ?G>4T M7=K^>8;9;9]G)H=[Y_XSL3V=+H7[;(OOVC7AC\'VI^VOOG0NF.20]V<7,F-O MU;3M[?B@V3#9)/MC9OK]D8R-'<00Q/&#!((D?M <@N;Q@Q80M(@?M(2@9?R@ M%02MX@>M(6@=/V@#09OX092BC*F"I!>L%6A-R#4I\)H0;%(@-B'9I,!L0K1) M@=J$;),"MPGA)@5R$])-"NPFQ)L4Z,VH-RO0FU%O5J WO_QL*]";46]6H#>C MWJQ ;T:]68'>C'JS KT9]68%>C/JS0KT9M2;%>@MJ+HD!O M>;DL4:"WH-ZB0&]!O46!WH)ZBP*]!?46!7H+ZBWOU-N'>^7\U/-8X_GOI#H, MW[KI^''YV$0)YR/.%F[&=[]02P,$% @ $I,,46/6BA2; 0 E!< !, M !;0V]N=&5N=%]4>7!E&ULS9C-;L(P$(1?)^ M@)ML2$026[:A\/9UPH_4BD8@*G4NL1+OSHR]TG?(Y'UKR$6;NFK<-"Z\-X^, MN;2@6KE$&VK"3JYMK7QXM0MF5+I4"V)B-!JS5#>>&C_TK48\FSQ3KE:5CUXV MX;,K=3.-+54NCIYVA:W7-%;&5&6J?-AGZR;[X3+<.R2ALZMQ16G<(!3$[*1# MN_.[P;[O;4W6EAE%=YF5*FTU4=6A)G+*G, M%42^KI*=Z*#?V8<;IMV37^W?R?09ALJYU<:%B5FZW.XPDK9[:((065_V'_'H M&*2O/A^UT\XH.],[7.^GMLMN'HYUR_5W_'W&1_T+Y!]0.X K @ $0 @ &O M9&]C4')O<',O8V]R92YX;6Q02P$"% ,4 " 2DPQ1F5R<(Q & "<)P M$P @ ', 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 M ( !*3#%'0PPG8Z0, #8. 8 " @0T( !X;"]W;W)K M&PO=V]R:W-H965T&UL4$L! M A0#% @ $I,,4&PO=V]R:W-H965T&UL4$L! A0#% @ $I,,4>GV M&<>Y!P I2T !@ ("!\AX 'AL+W=O$F !X;"]W;W)K)@ & @(%>+0 >&PO=V]R:W-H965T M&UL4$L! A0#% @ $I,,44;3$1Y] @ (04 !@ M ("!*CT 'AL+W=O&UL4$L! A0#% @ $I,,4>$\BU00 P A@8 M !D ("!T4( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ $I,,4Z @ H 4 !D M ("!6D\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ $I,,4=3%Z70G#@ IR, !D ("!VEL 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ $I,,445> MYKBL @ >P4 !D ("!%W 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ $I,,48$4H,,3 P *@< !D M ("!7WD 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ $I,,4:[%-&-O @ + 8 !D ("! M X0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ $I,,49#I&'64 @ 8@8 !D ("!M(P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ $I,,41=#;&5Z @ I 8 !D M ("!@YX 'AL+W=O&PO=V]R M:W-H965TD !X;"]W;W)K&UL M4$L! A0#% @ $I,,48RKG:J! @ 6P4 !D ("!&PO&PO7W)E;',O=V]R:V)O;VLN>&UL M+G)E;'-02P$"% ,4 " 2DPQ18]:*%)L! "4%P $P M@ '6L@ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 +@ N 'D, "BM " ! end XML 51 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 52 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 53 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.2 html 69 245 1 false 10 0 false 4 false false R1.htm 00000001 - Document - Document and Entity Information Sheet http://dataio.com/role/DocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00000002 - Statement - CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Unaudited) Sheet http://dataio.com/role/ConsolidatedBalanceSheetsInThousandsExceptShareData CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Unaudited) Statements 2 false false R3.htm 00000003 - Statement - CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Parenthetical) Sheet http://dataio.com/role/ConsolidatedBalanceSheetsInThousandsExceptShareDataParenthetical CONSOLIDATED BALANCE SHEETS (in thousands, except share data) (Parenthetical) Statements 3 false false R4.htm 00000004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (in thousands, except per share amounts) (Unaudited) Sheet http://dataio.com/role/ConsolidatedStatementsOfOperationsInThousandsExceptPerShareAmounts CONSOLIDATED STATEMENTS OF OPERATIONS (in thousands, except per share amounts) (Unaudited) Statements 4 false false R5.htm 00000005 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (in thousands) (Unaudited) Sheet http://dataio.com/role/ConsolidatedStatementsOfComprehensiveIncomeLossInThousands CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (in thousands) (Unaudited) Statements 5 false false R6.htm 00000006 - Statement - CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY Sheet http://dataio.com/role/ConsolidatedStatementOfStockholdersEquity CONSOLIDATED STATEMENT OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 00000007 - Statement - CONSOLIDATED STATEMENT OF CASH FLOWS (Unaudited) Sheet http://dataio.com/role/ConsolidatedStatementOfCashFlows CONSOLIDATED STATEMENT OF CASH FLOWS (Unaudited) Statements 7 false false R8.htm 00000008 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION Sheet http://dataio.com/role/Note1-FinancialStatementPreparation NOTE 1 - FINANCIAL STATEMENT PREPARATION Notes 8 false false R9.htm 00000009 - Disclosure - NOTE 2 - INVENTORIES Sheet http://dataio.com/role/Note2-Inventories NOTE 2 - INVENTORIES Notes 9 false false R10.htm 00000010 - Disclosure - NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET Sheet http://dataio.com/role/Note3-PropertyPlantAndEquipmentNet NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET Notes 10 false false R11.htm 00000011 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES Sheet http://dataio.com/role/Note4-OtherAccruedLiabilities NOTE 4 - OTHER ACCRUED LIABILITIES Notes 11 false false R12.htm 00000012 - Disclosure - NOTE 5 - LEASES Sheet http://dataio.com/role/Note5-Leases NOTE 5 - LEASES Notes 12 false false R13.htm 00000013 - Disclosure - NOTE 6 - OTHER COMMITMENTS Sheet http://dataio.com/role/Note6-OtherCommitments NOTE 6 - OTHER COMMITMENTS Notes 13 false false R14.htm 00000014 - Disclosure - NOTE 7 - CONTINGENCIES Sheet http://dataio.com/role/Note7-Contingencies NOTE 7 - CONTINGENCIES Notes 14 false false R15.htm 00000015 - Disclosure - NOTE 8 - EARNINGS PER SHARE Sheet http://dataio.com/role/Note8-EarningsPerShare NOTE 8 - EARNINGS PER SHARE Notes 15 false false R16.htm 00000016 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION Sheet http://dataio.com/role/Note9-Share-basedCompensation NOTE 9 - SHARE-BASED COMPENSATION Notes 16 false false R17.htm 00000017 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION (Policies) Sheet http://dataio.com/role/Note1-FinancialStatementPreparationPolicies NOTE 1 - FINANCIAL STATEMENT PREPARATION (Policies) Policies 17 false false R18.htm 00000018 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION (Tables) Sheet http://dataio.com/role/Note1-FinancialStatementPreparationTables NOTE 1 - FINANCIAL STATEMENT PREPARATION (Tables) Tables http://dataio.com/role/Note1-FinancialStatementPreparation 18 false false R19.htm 00000019 - Disclosure - NOTE 2 - INVENTORIES (Tables) Sheet http://dataio.com/role/Note2-InventoriesTables NOTE 2 - INVENTORIES (Tables) Tables http://dataio.com/role/Note2-Inventories 19 false false R20.htm 00000020 - Disclosure - NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) Sheet http://dataio.com/role/Note3-PropertyPlantAndEquipmentNetTables NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) Tables http://dataio.com/role/Note3-PropertyPlantAndEquipmentNet 20 false false R21.htm 00000021 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES (Tables) Sheet http://dataio.com/role/Note4-OtherAccruedLiabilitiesTables NOTE 4 - OTHER ACCRUED LIABILITIES (Tables) Tables http://dataio.com/role/Note4-OtherAccruedLiabilities 21 false false R22.htm 00000022 - Disclosure - NOTE 5 - LEASES (Tables) Sheet http://dataio.com/role/Note5-LeasesTables NOTE 5 - LEASES (Tables) Tables http://dataio.com/role/Note5-Leases 22 false false R23.htm 00000023 - Disclosure - NOTE 8 - EARNINGS PER SHARE (Tables) Sheet http://dataio.com/role/Note8-EarningsPerShareTables NOTE 8 - EARNINGS PER SHARE (Tables) Tables http://dataio.com/role/Note8-EarningsPerShare 23 false false R24.htm 00000024 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Tables) Sheet http://dataio.com/role/Note9-Share-basedCompensationTables NOTE 9 - SHARE-BASED COMPENSATION (Tables) Tables http://dataio.com/role/Note9-Share-basedCompensation 24 false false R25.htm 00000025 - Disclosure - NOTE 1 - FINANCIAL STATEMENT PREPARATION (Details) Sheet http://dataio.com/role/Note1-FinancialStatementPreparationDetails NOTE 1 - FINANCIAL STATEMENT PREPARATION (Details) Details http://dataio.com/role/Note1-FinancialStatementPreparationTables 25 false false R26.htm 00000026 - Disclosure - NOTE 2 - INVENTORIES (Details) Sheet http://dataio.com/role/Note2-InventoriesDetails NOTE 2 - INVENTORIES (Details) Details http://dataio.com/role/Note2-InventoriesTables 26 false false R27.htm 00000027 - Disclosure - NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Details) (in thousands) Sheet http://dataio.com/role/Note3-PropertyPlantAndEquipmentNetDetailsInThousands NOTE 3 - PROPERTY, PLANT AND EQUIPMENT, NET (Details) (in thousands) Details http://dataio.com/role/Note3-PropertyPlantAndEquipmentNetTables 27 false false R28.htm 00000028 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES (Details) (in thousands) Sheet http://dataio.com/role/Note4-OtherAccruedLiabilitiesDetailsInThousands NOTE 4 - OTHER ACCRUED LIABILITIES (Details) (in thousands) Details http://dataio.com/role/Note4-OtherAccruedLiabilitiesTables 28 false false R29.htm 00000029 - Disclosure - NOTE 4 - OTHER ACCRUED LIABILITIES (Details 1) (in thousands) Sheet http://dataio.com/role/Note4-OtherAccruedLiabilitiesDetails1InThousands NOTE 4 - OTHER ACCRUED LIABILITIES (Details 1) (in thousands) Details http://dataio.com/role/Note4-OtherAccruedLiabilitiesTables 29 false false R30.htm 00000030 - Disclosure - NOTE 5 - LEASES (Details) (in thousands) Sheet http://dataio.com/role/Note5-LeasesDetailsInThousands NOTE 5 - LEASES (Details) (in thousands) Details http://dataio.com/role/Note5-LeasesTables 30 false false R31.htm 00000031 - Disclosure - NOTE 5 - LEASES (Details 1) (in thousands) Sheet http://dataio.com/role/Note5-LeasesDetails1InThousands NOTE 5 - LEASES (Details 1) (in thousands) Details http://dataio.com/role/Note5-LeasesTables 31 false false R32.htm 00000032 - Disclosure - NOTE 5 - LEASES (Details Narrative) (in thousands) Sheet http://dataio.com/role/Note5-LeasesDetailsNarrativeInThousands NOTE 5 - LEASES (Details Narrative) (in thousands) Details http://dataio.com/role/Note5-LeasesTables 32 false false R33.htm 00000033 - Disclosure - NOTE 6 - OTHER COMMITMENTS (Details Narrative) Sheet http://dataio.com/role/Note6-OtherCommitmentsDetailsNarrative NOTE 6 - OTHER COMMITMENTS (Details Narrative) Details http://dataio.com/role/Note6-OtherCommitments 33 false false R34.htm 00000034 - Disclosure - NOTE 8 - EARNINGS PER SHARE (In thousands, except per share data) (Details) Sheet http://dataio.com/role/Note8-EarningsPerShareInThousandsExceptPerShareDataDetails NOTE 8 - EARNINGS PER SHARE (In thousands, except per share data) (Details) Details http://dataio.com/role/Note8-EarningsPerShareTables 34 false false R35.htm 00000035 - Disclosure - NOTE 8 - EARNINGS PER SHARE (Details Narrative) Sheet http://dataio.com/role/Note8-EarningsPerShareDetailsNarrative NOTE 8 - EARNINGS PER SHARE (Details Narrative) Details http://dataio.com/role/Note8-EarningsPerShareTables 35 false false R36.htm 00000036 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Details) (in thousands, except per share data) Sheet http://dataio.com/role/Note9-Share-basedCompensationDetailsInThousandsExceptPerShareData NOTE 9 - SHARE-BASED COMPENSATION (Details) (in thousands, except per share data) Details http://dataio.com/role/Note9-Share-basedCompensationTables 36 false false R37.htm 00000037 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Details 1) Sheet http://dataio.com/role/Note9-Share-basedCompensationDetails1 NOTE 9 - SHARE-BASED COMPENSATION (Details 1) Details http://dataio.com/role/Note9-Share-basedCompensationTables 37 false false R38.htm 00000038 - Disclosure - NOTE 9 - SHARE-BASED COMPENSATION (Details 2) Sheet http://dataio.com/role/Note9-Share-basedCompensationDetails2 NOTE 9 - SHARE-BASED COMPENSATION (Details 2) Details http://dataio.com/role/Note9-Share-basedCompensationTables 38 false false All Reports Book All Reports daio-20200630.xml daio-20200630.xsd daio-20200630_cal.xml daio-20200630_def.xml daio-20200630_lab.xml daio-20200630_pre.xml http://fasb.org/us-gaap/2020-01-31 http://xbrl.sec.gov/dei/2020-01-31 http://fasb.org/srt/2020-01-31 true true ZIP 56 0000351998-20-000014-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000351998-20-000014-xbrl.zip M4$L#!!0 ( !*3#%%X?%\OAED !_3! 1 9&%I;RTR,#(P,#8S,"YX M;6SM?=MRVTBRX/M&[#]@O=,GW!&43/!.>[HWU)8]H3VVI9'GJYNGCW=W;Z3_\^O__!\2_.^O_^OJ2OJL$T-[+]U: MZM6=.;<^2-^4%7DO_8V8Q%8.LW[][]_+R_"/)'?_WKM^G0/DMXK#?N]U?^K==B?P+[GWO2>_[X_?#_K_+^-D MCN*XU)^L^]H5_^.O__5U9AOZ>_RW!-@WZ?M7JO_R)K2^E_ZU92_>];I=^=U_ M?_WRI"[)2KG23>HHIDK>>&\9NOE'TGOR=#I]QW[U'MUZ$B?WYNB_PY]G"@U& M1@!W/+\%"?RJ.?X+X8>'[_B/D4?UQ$='_%'=>U0CL>]QF\Q301Z]@U^]!W5J#7KR>-?Z^!/>"RZ]6BC*VG]AKM 9>UC\D , M_&);!J&)[[!?$EXR+=-T5\EP:8[]SMFLR3MXZ J>(K:N^N_M?RGZ L" 7R=# MQWY)@$ZU7-.Q-\DD$3\FO$9M9WL:^#+AT=N;NWO_64UQ%-T" 5^Q)U%4WWBR MA_SZGC*I>"1SB;'Z^R5C U>NO)>N'ZEVAOQ,R[KES=47ZT-X-MWWE!<%E7+ M=,BK(^G:+V\^V];*@ZTK.Q;_/+H*YO=?(Z:C.QO_6_][7<-?YCJQ)08EB9#' MP]G'N_]\\RNJA?X0)';RUW?QEX/IWB7.)V9; VDM;1L*D%';07WV:[ <;Z3@ MMZW70/&&7L)U!]-KD5>\[R, >%\*E.[#LSP-\(R?3QS/WG)RX=E;=SUXOJ'W MY*!L9I;863L!5.D[E: M6^%D;84&,IRP%2:G'GR9U!]\\>8(V0>KE64^.9;ZQWE(FR]GG_YT 6Y8W]HR MX4\:MQ!BZSZT3!V8[M.6[HVC^P&"K5OR_D@<13>)]DFQ3=AOSF2+S4C\Y,5? MF.2W'- D#CB&#KA157?E&H P[=Y9$AN199,EHO29<&OUHI@B,SXN3%.T?')Z M?'+ ]S6EFR.+5GOF70T&-_2O3ETK_=\(47>6PNR01;D422_Y8 &</]B6YJK.O?U$ M[&==)9PA, __?=)2VT2@K*?)+;\!B\7[_<:,K:(?;Y<\OV0EO=DE.W MM+S2ZI6L>N7)FCLOBDUN3.TK.(@.,;%\\ZRY9M>26UV34]>T_-,8_FF@_DF) MPP!.=4)O'FPR)[9-M'.,QG\T% JK9TN+9TVFKO[LXRS1L]J6#QK'!_6>Q0;V MR."\*N@'3=VW!U=G54&?&\_'L*_[; C3NF6=IK%.8:OZ M$*P3U^XMZS2-=1J[8<4-L)9UFL0Z#;0I U^^W:2:P"Y1W[U??YYU2_>&T3UN M91PBYZ'?5N4T*J/N]+V^T3-0X)CH]SZ=EHD8QT>GX0"WC')UQ MCNP-M1S0( XXNE_4U@^<2/W Z7M/+:N=(*N=IH_5LMJ)LMKI>6(MJYT@JYV. MO]:RUXFPUY&]NI9/3HY/CN7[G7!>Y4DY/B>,YP9:_=']\<1P>YS-X621="C- MN&74MQ7OK65>@%_:*N:65[+R2EN%VI@JU,;R3V)LL]V;CLTOC0U0[N*7=F]J M>24KK[1[4V/VIL;RSYZ"G/8VO-:H*< X[6UX)W$;WFDR5WL;WLG>AM=8AMM3 MTMQN@ZW]5(!QVFWP)+;!TV2N=AL\V6VP@0P7G,>.3Z]74_0\=EQI,SG7U#F& M?G^ZW4++BBC4MZBVAH_9::81_?TGQO^/9,&TE^E\4U9$$OSY2.:[^NMB M).S[C73W[E[Z>/_X\-=W:>-MS_<1E@*:\\[4R.M_DDWF"<.BG3I:>+I;2W51 MIW[?K+,O2^Y>_9V/'WX]:=@')MV?N(+,/'[8TT@=+3S=#?RJX1.?#661>9JY M8E#"9X@,$![YHVO;^+5.5<7X!]A.>==RY?52W#5: @/P)Q_)VK(=V$IQPW5I MYEG_@2*X;[3M63_K!K$_ D +R\[.=-\L\TI156*@$B&:Q$8)3Q\9=GO63Z!] M%F@NV-:+L\2$0L7,/GN(BCN&VY[U::48QF\NU4U"LR/6L=W(9)%1$B99@B54 M>D7A49*DC/,3EX[/\%WVY?R]%Y6PK9'2IT/VS3<9?DZ:SA_)F\S/-:64.%0P M;V2::#/9-Q)J;?8#V@:21E0=Z$)_>7/5AVG[T_$4].)?WR6.FW=2?SV[)^U- M!H/LD[)4VFJ6.^U%Y]T>NM#D&9?=9?_+,_N=^0S?@F+X1HHO>MCM1><-CYIS MQFPK'8S[U1+DAH,NE2A#H8O"D.VE9P? M!AXN^*Z\!BQ0& NC05S&M\8N-GTV!.2;^<&VP+5U-@\&&/DWIN;GW)11<_)H M-(F@8-3*!S;8Q>:/>-F,!E-<\X. MJA%,26C0&2:X7MF 66/D1C<77XA"B??*I@K#51Y'*;5WJBI@ MRX:O24P/Y08-V\#J#MHV% R=CP &O$Q,52^QEX?@V3%\.4ARF[LY((G>9/-? MBN$6M_>:M'NR,6URE4,?;LX6& _,+#]V+XW<8VXSW MSU4)=!F5_'1<$KA0L^]RZDR>C =13,6'+C!U1M-@VI>GN::^,0SK!3/V/UOV MK>7.G+EK;$?SREJ3DUBX,,^D54.<#9/C?G401[<6G@UPXSI+R];_3;1L2!4Y M!"$H[[Y]QGAX+ Z_>Z[2D"4@KV&09;IP<"_TO<,"G^NVQ", ?T>I6Y)3]\## M9R@%2W;>K R6>]?!;"<-=I@ZD1.:ICQ4E:%I!U2A7:=2==?OQK7*CIG* 94= M3=4"58&H37HR&,.3'? D#?GE8JA*U_1^-8TECN^H+)NE[W* M@'K4%TOG?OX[)2SGL42ZR7C7N7-LFK(P957\L6.27#!]5"@6%.-_T/QX5@QV M4NQ\5&Q[ V.4/#;I3_M1-95IOJJ S)JGTXN=#!P42*\B=1_GR:/A$8&<9/2S M!Q5@LLI3>'G8CYJ5^P^WJSQI[[+\SNJGS\8TO=ZX-ZUE^DSLT.OWA^,ZI]]Q MF?6>(]7><% 36L"-X[(B<..9.!6KT>*2'$^.J%C!%I?D02S'JBZ,%1&6>&9-74@KI&4F]:C M$I=4Y4GVJ@N55:D=N3;D]DOMR-VN7!<>RP'6Z]>RZ66]A'@/=+79,>6!ZX][ MM9"TQ'5@>PH3#H')BH =QOSJBG&[SZV9CFKENWU^Q2 6&\HP_9Y$C#P>1>IY M?W\RZH6R$';E0F1,#"D%3SPKH@0\N>RTK/D0Y?!3'I[>2!YW>Y7A)_,VDPI/ M3QX,QI7AISP\D_&D-\P(#X[\2-:NK2X52C06RW9TFVBWK@T[!F]+PD=(:#JR M\X[D K!?#<K U.$:[UM@7HDU+%UU1%9M#&X_ZAUHNXY;446K>F.6$\'=>$.M:9Y4[L)QP M]M64=>;7M:=&MXH!I/?&091 M\.R*F)2E,3^2/UV=Z@X1UTGRV1^):BU,-DI:<">_[S.(-XNM&>@&("F_Z]2/ M=W<\?R15J>![@^FEH:_*?:,7ZU9Y(>BKRO6[4.&MRG.\P TBOS'4:K@L2#JR M'@//-V@0EX'LF0+'L3+VR!QY 8BC-$LE2[^ZZ8L$SKNQHH32Z\]GF,F]"J;K^J8O94NA=)UKP:QC))*]4* MI<&+%3M7+K+ELG"KEN@=-\(7H&RU"F\GYQ5.;JU5$QT5JE1..QI4.SGLJ%#E M/#FI7655IY-RMQLN:MY,HD'!(OV&"\):X'1?CA6C'!#:>M18_ !W=%1J5*\0 MX_O>T;:ANP.YK85 M%:^#OU4<):G32XX+;I-'2YI5M>RU9;-P"KO$_B/VCK0!>"W[G;X_;J)S[QAS M&P2\#/>;BZ*5>;XNV-]]3-=/&B7.H:R]V8-MS?7,V-Q=)=;K18,MH0GRS9T_ MSC/NQ>Y5*SQW?BNH-^A7-'>!@[?A9)!U[H\6!>G_FV5I[-X-'AFD3Y:A54)^ MO$D^UL0X;;Y2D.5GCL$HQI@U05: =7JQ!JDUXBP?8_5ZL4NBLD,FKF>K)H(\ M'<3N\O1&SS%K@;"Q/(D5?1:8-FFQ_U1=ZEBK?_K=-Y\4@V2*K R[L03%BA!1 M'*)Q;Q"_,J52'-UHRAHVZ\SP]$:Q/:!B#.6&9S*IE8>>K+GS N83B.-718SBE\F7&F_=Q%,IILI 5I[+"^3XC(;#*O"13\4.X_?*5;36XA(- CVJ$Z*\ M$B3W>[5BJ#B?3NIAF.*DZP_[I97Q+HARDVX0Z\=1,3PE2)>9QRE1;!4["M[" M(X;%"/+I%0_9,WN NVDF3^.@[)BR+'SYK:!^?Q2G88WPY5?;\DB.JX>:\9?S M\'TTB=NN.>![(H:AFXN_$9/8BH%-[[65;NK4P?C!,ZF4$8?Q9.5,I31I M+@-'?O;J]^64QLQE\9$W(-6=%H2C\MRSP20%)3N.3C,!4R"@T!W6 TJ!G+1) M6@/V*M"2CUO&N;'"XO>$BM-OP5/?+-/R7OU&JHEF1[DXR[05@9J?N;8N.#H8 MK 6VP6.B->?^URT-Z]_ -4$NOC=O=;JV*,N]O9^SYOC5:+EPZ'_79&4AR\^5 MHRCZ:H4N/Q\>$F_YV*XH9)\MF^@+DY]HJIOOMF)2/.BT3&^8W\@I'=N]\,T/,S=BPZ7P+RL-:-J.-J&#NVGZ;. M5@:L(J>8]4-5A!\/A*RP'P5LCB7;S#/OK0B0KW\^W4L,+ZK0=#?D#4'/!4/4"]K!H>L?\;D,6 ML(>54RL#PLQR= KLX/A4"@S']2Y 2,SNBHS:I2 -BNH745 2^N-A@Q91HS0< MEA(%)*+?KVX1NPJ9TH.'-Z;&_C+X?==^"Y6*@]]R++6G)F"/AY,B9]SGC9%: MZZ-/$B,U5V%7B).$&7*4C&99UW@:#3[NF+$<< 4$L:T7[;_$Z)=F?ZV2TW6'ZJ.WI%J7!R=ZLW1,;I*P6\ M0#A0'L32Z(N##A2QB4+)+>'_O3-O"3LQ9PJFPH2+JZF\%<7<.W-%T!9 \612 M [#L88QP\^KI+[HRTXWJ&/JJ-]J*R&>&H&+HBR07[&60,M#?DCF!MS11ME - MPL=;0>?=LU8!9@',CO9+7DXP;U052_#I@[)19@96D\ WMDNTRGEZ.-@ZG"P M2VTK*G*8$Z_WKVM)W$;DLE*A)I>[L4J@+#-7!&T1M5(#K'=S\2E>C/R. 5^1*]O8IN>^J*P"V0YYE5":3#ZIU M19O85H),QH_A&I;$J0H#5 !=L225B@%*+!@7H_R3]W#(7@Y\/$AW5LIENZQ^ M=#3@L]5)9>OZ$+]9M'[V+6X9'0_X"KEE$$NQK8'IRUV>4@-> MRUU4<@ ,%9:GX=$@+2]/_=[1@*]0GOK]6KEE9U_)O-Q2NYFSHXMU66Z)5T8? M$/@*N:67R[*[O;F[?^_W^6"G&3QV\=T*M=JJK#O;D MD]EDK@;-(5&%4$% / M[;=D;<.0#-GPV2#BP.AF9=F._N_J7(M!K"(CR\05 5N@>B362:<(L"G1>?29 M:0WG&E>#V"Z2??Y*(2\4J\ETKI$!BX&=S/X9LUL9T-WJCG ,5\ M(:FZGC3'U-5"7;K6M SDRL:[<$>%9VQ2+[KC+)Y]^DH!+]" )=8BN3C@*;+Q M6<>.3C5H%7DXS2*;"?-7"GFAX])!)H68 72/7)\M^Y&LQ1V=]_-09^;*M M&2N!L4!V!"OW+ =I2-_@I:C8BJQZ9&YQ[MYIJX"SV,%0.3@_S>=$!1OOTRO@ MWER01\4A]R:R.B@2_ \JDV=0[&95A_IRK"=*'@@JAK[ J<:@,MB3G^+7Q\4C M^Q49>;$DN3P05 Q]$4.O%ZNR*P-^J* 0[_BKJI/-**E@.#Q+(3B*Y(?N M N3>7BBF<$8^6B:U#%U3A*/R8!,*J%5X2PRQY2D&:ZO/U/>M3E7#HJY-O@/D MOQDYU/"O_V$X']82=38&^>7-'%YZ+TW6CO1=7\%>_HV\2(_62C$[_(N.] 3D MG7^05HJ]T,WW4O>#A+-<*8:^@#\Q.5&?;][\Q\+Y@'<.2'?O[J6/P4T TMO_ M4%;K#_][ FK3?\#_2O[0^8__+?<_A)[Y0<*_2J%?[ET[[:??:>B7GR7P_M8* MN-.2LR32W,,>+-E#GZ10R9I+_]PE_50U7 M(Y)B&)(2W+8IO05&H3ISS? 5T[*!C6$QF+"#WX6?Q44HF-4 C/ZS9!*54*K8 M&P8"X&/-^52:*[IM;#AZ"'4->'-NV>SO-=,.U'N4:-?!.B58J#13#-PS);HD M((N*(X$&80$IJ2]S.DA@HT@S0DR0.5M_!KK.@;UQ=$XACI840COP'/P+1(N$ M4?R#P*C/3%%J& 33)(#76ND.JQH#VUX!Y.KF')'#^!@Q,;!'5;;YEKKJ4@)V2V;>,$7\;,0M0E+]50*;QEE2B9BX MQ)CT (L";GP>T7V,: 2AAL]&?$&9G19*1L@K41>U["M(Q'%;!NBV#@/0A)C MB%XWQD(T1!@;'W1:/7Z-6?K=&-4^>.B>^@LU5IU!V!I#/_%M@+),Q<&*03$OXK M=ODQ V4.$G1%';(&(=2(@5(-# -6E\ EV$(W8*[AH\3@(_P\+-M&9+U3,1^ M!0_IN!\L, :/NP(5UX$P%><$P7IO$V2+%Z.&MYC$3Q? V][62@3:.5:QMD4% MA8H\H.EH- #J"#^!8O!XO OZE=_OS4\'J$.91*S8EB((KOKF%/R(O!)C?(?8 M*[8C6J;82N 9>)$K\1<=185?,:[_FW CAQ\-$&\7MYG25PP.07A4QOGD%9U^ M?_BP?-VZS(KR34K4[AV&!!VD0&6<[D^N>(*V-247>C1*9FB+>(6,8I' W?H* MA<.&32H\NX?\E8*6GT 7"(*T!O]"W7"B" &%13 #D3W4D5P*NN>97?BN:!K* M)066YIO6JPHR(00*%V5A/B8HK)5N '+Y]YY1)JW _W/Y:KP]WPG*FY"8*KF( M_>Z'KT__37Q5ZJX1^T*-,&;@*HBKM'E4"<$'S46*A_40D"[08DPS2QFU\HMG M:>$8-DM99+J="#_%9SIG:5&2.'L2LVD$10.O4^80H D$[RYL!<04&)?XT7FT MY,$04Y?PJ (\J7,6 4Y&MVG#> M,+I8^S>U'9KJR404TP@QF9K,*2\==D"*_ M@:4'+@@_<^)V/]B%P'.6C?N@D-0J<)& M!B*"Q&JX;_I^!JH99H%PI@5:(VJ]V8"IA6GB(YG!+C0:(A C)B QOBN!&F*F M.(A4[K$@N=@';]UAI +&&2?YR(DBI2/]"3:[QR= PC57;1Q;$9(&(+._(U;" M6J$!;UE>&RQ4A"(>$W@)GM3YKL 2W&BQ32!*945 MJ$5T],)JC]L!_GXB#$ZP?D&):-RV9.$8,-J8TR0TN6"9@*.B#(6D VL5XX** MMY?SW=9=K\'T#1[ ;SGMP/[C]Q#!4OU;B(('X[O,EHW'I 9\.M63: ;W[NT3 M-@.3*P$P3;@!P'2W@:8VMV:%_1@Q0[QIDHU-Q!,:'6C]LLV?;VJAF0 LEBK' MGX_(P6,$F/!CN#Y_)+ZV\*]"P83A9Y0*#_Y9"&.$5HPL"23:P20=-.U$ M.6PBX);(8; 9DA?% .:9.\3##_B#\#SSY1A6.=,#!:AE:'$E[,67HEN!1R7^ M*A,@GWRHSM=,MM#)ZT0)8B<.%X8N]+!.PSA!-PII""O7V$*3",L^)V,B:6(0 M'[#]-D', F'VZ*TL;,(/ /@&N5FCVXU/)_FJHJ0T%.<1^D. V8G &%4#GC/* MH\DBOD^%W:<1 _C-V_"2N9:I+P]<7\_!9FBZ4ACY'>ZC#74MV[+,BSF50 M/RE>P,*4:,'Q_=3$F"^01C@;?M2,46EFH3/)+4(F2BQ0YG@&-2=7)_*8=W J MCS](-K:THB'$H]L(T.FHQ40T@<^&?KP@)2@) 8GAQ9;0//;HS$^N@)NWHQ%H MM]O6#/W83LK&'3KY\T,,S!?VS0I/">[>B,1)9*+!P74>\VRS,Z;;8]/P_&^D:GYRRA7A:@ M(X6 9TUKI:L!2P"3 GOQZ Z_:Z(O((]8C&P&8]1D #FSR,R0A3!X>>NX]HD M'@_0=! 0!SAJQH^J9Y;K>(>*VX@$+TEXB6(Y,:N18*@)8PM@$^/V93]SXX3; MF>+4(; 1N+?/T.B C:*QX)LWE? K 6-&TC'6$K=21"Z>B"NCN ;* MN-\%VFQ$R"3)U[P,=>CO9=Z1?!"2=%GD4-@I :Z'N?.36R DEQA";U ZQQ%KMG M.B#(3>$ZT$-MOA3D\@&,2 !S 8 M18#NV3*>45+GKCT#H6-805T>@E]Z84XR!AA$R)-I7Y?%0'#/$>=]#%J1N<+. M(T1[>@QGVCS:-G,IH)!N2=WWL(DDXN8ZC:@-!#VB>?& -/2J9?$(5(96+B;[^/X$I[L &P,#GZ^R+V7"Q#F[Q%I<)@ AKP&SGW\LF(O MBKI2_H5'>Z!(%ZQIQ?N&X8DO0@53?:UH:$#\\J;[AOU-UXKJ_1T!3>[MAVT& MS$SL*[2GE#4E[R7OTP?I1=><)8S2[?[T)H '0;&]>< <8@>MWI+ UG.L5? T MYB"R-S0OUV*6L-J9GX@1/.=HX;5<43!2&:X_2&+Y5WPN@&_MO,DU>A0P7#!@ MT/SEC1S@3V#%F^(W0U'_P(DDECCY08K#%":KRH)P49"^+\'QE+[RA*9/F)1S M(0M_TE^S+?N=8Y?FL6*+B *,*;I<[^/YWF9-FD2H?FUT\M+KV!>V] Z_8UD% M35I^K[;E?^0'T@U:Z\%)+4\O>ODMIU\,J7=P>I6[4,(N\Y8%32R7@GE.?]Y" M?0(6]^(N_9V"0_:J'[(&*,]BX7FY#:QUD(B%#2Z?AA:[9;^7[,7L;:\[Z/3Z MDTYO./QY%T<*@W[0^VFW+!EDSODU*'1FW5-2=848>'O<'>O?":*<%<*_[(-I MM&X-"8Q2'I>$H>3NZGNP0W9-:B]P9].26O%&;<32:MBB) MG N'-_K3":]FLA[:.=O'[3I$9XG+S,,#Q6_AK+R\FQ=.P)(./KZ%T/!66_6XYB%.:/8)S2',*&DC3+G1FD=#RF MY P!>PPZHQQ6#9OA<.KKN-@O*J)%R !F_W6OA!X[>SX==B;]]%C41?/I ; _ M[0P&W1;[3= 2HU9+[#!VY,YDFA[AJ851X_;..Y;9&WQ55Y[Q!TD82R^!L73D MSFSL7H\K=K&'%+[9@T%S,>W9;K#Z$ILW\P9LK";:OX1%>5%LC=?KB$Y'HN^' M5R<4-"[#OIB\9H!ZUTM8VTOPF _ MLQ9%"@WZ@F)E!M: \1)1K_'1-GV,9AJCQ71JFB--O?[JZQ>%$-/3+Z(? M,:MWYDCG??&0/UA5I5"&"&Q(9P*^>?6?W[/5)MBQP"LOTWT.D]:NO08,4U%< M%J.%Z)PAE+S7BU)BBV 5!\QKP15%.-'NOKQRE3>T2@!@V$R MW21.CBV O")5;,B%N FT+6OBA@H\,CAOWL))A%UG!*%CK80XI-OMF#_>/'YZ MDFZP"EB('2[W[S)+R.ZPLF@#"[A%8\>;K]^%^+'"/BS%FTM_&0VZG6ZWRYE4 M]$WSA)F+)K;,P(:\K &U>25^O"R=CW<&,X&[T2S6;^TF: #]8%LF?%9Y;XS+ MVA.^668#^D,&O?RK[M2_?26!**8]8E=_^&<4=YRB^W3DLG+L'T^TK2IGT0C" M:R"46K!Y#I63%1[M&*=6K]<ISZEA]NTQY#084E*W7GD?# 4T6%+F+.HH&T MY*!/SA>S3'AF"SK(D9Q0DL-].<(^N(_*B^1UH4Y=J!AUTL!D:'E?W4TX\4SN MI80#E/ <5^6R)W]8]A]7NGFUQ@OAZ-GDCX]&Z34 %YE-*W%+[VZ,\H;?V6;L3 ?93[#:;+)*43\>'Q3UQ[;UT\^' M0QY[878Y^]/F06?<3R^@N>BLB(-D!'F1A 8<]8?O[DR/QR7<.IQ\$W@C;^CT MH.7G*>$[TTL&]-H.;$V((^;LA-$&#=N@81LT/.,%-2IH&-;L7_"&\"4VGM57 MK)EY<,IYOJ&P_C3=UFGCAZE(2R]M.)/H8;J8^,;D>43.AIW1*#T6?)'!1$!) MMRZ4'#V8Z&]'"TP>M,+X MT'N:MP2$#*S!Z\%.@IZNQAYUIJ.VY4X,)>-Q72UWFK^)?<'#7A]\115YWT0+ M;VQKFZAZ4$C3:LAD8Z@_3.>C=GNJ&?FRG/TDY 0WJ$)"'AS!)(?..W@U3&&N M.OL#'AGW;UM\*!#5>(M6=^[:U+[S+8G@RV)X-UN=6YRPG8L6"H M8OM*HDN\>QR+GU,7?A[G7*,=/4_:P\$TI.T(J9[EX: /[8.XJ=2[+O4\ HG] M01M9C2*DMN*+H\=5?1"?0I=M>[=PGP?UVLJ9^ E8@YFY8\R#=- MWVPODIWEWEEE;J3YTXR/RWOE9WMPLN,TN#VRJA7S\HZKC<[\P"JY3C,XT4B- M^Q9FIPLX+>GE.'UNSZJJQGX_1^'F>9Y5'6!:[/ 6ZGEGN3;V!HR$$H+X&V^K M)]H94OU56@$D2RH1$XDA><%\%L#GS1.I.$4Z]*&1L2_D7\TY4@9H#W6,E* X M\)0KWPG(OAWST.[0IK-U @$D'ZX5D'JJ'HJZ9A^&UN%,?5\+%Y.-U_ M9YE&K*NQ:.&O, )0E\>?0M<=(;9$#_]@M-XK1>D>7&@_$9;TOLWD8-Y@ M]=Y??HV8XNN=N&\7Y"$6S"6,IR2R7 EZ/\?R T(:W#D8KZ P %C6CQTWD06O M]F8>X]K682#="'S-.?A>+/G#8 N47@AVP<>FY; >YJBBTXJIG*R<@EZSKN5^ M\J+$W;HU;\M,V<-S%R^;X -BY.^/V9WCZK;%&OP8>]]1@L[L3SSZ:.U6NE.T NAL1XM M/H+TV'%N%W5ZV:#O\+&=,8B*/-;6=3ZHZSP8I+J,^_F$!0_?VF2EZ.A8_YR- M40K[JLWPT ?]= ]]DFX:G;:'#I2NR@\^MK\YWE$JUT Y32-'^H'+:9&C+Z=' MM4Y34-*O>SXMRDS/0D[2TPQ.BQJ3JMBJ$6*2P;@ U] FRMP1"4Q[S8KL,:6Z M/8]&AN/D'&&; J@[GHQG827_$OK<7%0H@G7&T3^Y,\Z1N55)_*^I"BJI?15& M]*0[<0NFCA$$0IU6?U6@O][*.W*8&WZ>4$IO!>%-$06-9P2V.JVT3AOF.*MJ MZIE&^4ATC9-_5.A26BLZOV)W%T>'\]:%2G^1)U.\ MN)0]_Y?^>(!_=+ J">].U9^)L8G=EVH3]J(%(YFP0IAT96GZ7,>L6W:(P(#1 M7-N[F7@/%.)Z7LV[D=:(E<3BLI3UVK9>V2W9Q@9@'C*0V3VS;!9+4A@P;.E7 M&Z+P"W(5%WC/@G'$J'5[5!?6>@%G-8WK7W'@ZH0#M&;X3;":XD1YB$&5= Y38*E&8QM3A%8?[E'1 M]J6H-O[2]J5H1 @@_S67N. K:WZ%F0@*OUG][9<@=X 7V[#OT]-[SZ/E@MSI M33.ED+:=*F+NP3@]Y''>O2IB75VN@IXNTMO4.K5,:?+-KQ'>U=;E(HNF=[5L M.3[O5]/1(L[PF&4F^#V^::QY$N"YL/NDGZ[D+I+=Y8Y\,(8_MWA0^K0W,2>M MPT(E+P31#MN( @*O+(CD)Q4%.9U<#'4J]:^[$PE#(Y3%>A+?UW3*4G4E6W%8 M%JJ&;PY_JB-PTC@OY6LNTMT%0UEGJMB;]Z2HVZZL M& \S2 (!4!; [+S_-PPNJCB"<*T7>WXD&@B"UI%^*'0)CSB6*2V)HHF):$ . MD![+72Q!5(R-B+ST>M%0,ZB>@,MUFA )!D4X&'4EBL,#$(0X%\'C/S"HOC!1 M<%GL=(3ULXO%;TC M?02"*C[=[E7'"H)F/3F9=%(2V3A T\Z@>WFD"XG@'*3+6<9D<,1DD%.7GV%L M49C3"H\[MNAEPO8N?75-75UVI+_!-J&8&^EE"7^R,YN -[XJ-GS'F6+,&_QO M\82@-(/B,YG9 "=(W&27I":26QIT)M-ALR@=%"?MK2KRRI!N;^[NWS/O/52T M 4^$55UCH>K#-32-.QP @ Q>:%NDH8'FQ%=> K /H/@F8.MUDT M K:'Q:]=]IF8AOB'P703KY-BW=HU8@-7)RY-GX,0>+-*:.3@&22\"^M \8&_ M5,7D41< BMM@*'IS_15;P-O2"BSEE;M" 32=X!C5L:19@$[8RA2LV<)C*B"? M#7C#RBI<6(C))4=?X0.BL3S 9%*%83@L)U\!V=L%82J>0QCLB.Q%QT"^(^0^ MO I N6(XP@K$QT2?8-,"/Y^ -[!9H[]OH)E#48@54YIV)4W9A#$M);L1/G[5 M$&-[S++-$ [F5Q"T,:][@$3#0$:"E7,]@_B?N8[TEUY/F*,V-Y]5<7J)R,4C M;=B=N,U@ F=+#C @<#&WHIN@'Q+%/5Z2&/KIQM0^ E# !<14FWHYPLWVD3'; M;U[P5!]X"7E=P2M?'(LSH8D,M0"I!U97"4$!HB@[R@N2%<;")W2P%U><59E2 M";8J7CK/N4S1@. HQ*X#?$8"C@$C U:C<)G@Q)CTY/$'F&@-(FJ9'6X @M)Y MUC67<3G3:WS8!(]@$!YN8;P\OS* M2AQV#D8.$!"7;%$])L(-X,MBK!=GW$^*C6$"^D!L,/ :Q:._*517)2( !,UG M@ZY#;M-Q#S)4?M68-$/ES#64F1S,,%UVJ@L41KT&3[%AL$#6 =>0>S B384H MP(B:WJE(D2=8!X'!UKSLMA>&!' C/'!1N /2>M M"&PT6KV,?4PK^V$W AFV!?(XS@0")0]Y?-,2B4ES$ /VCD=QL>%IZ>P!^QR? M!.' C[KMT9=KJ1G:$(Y^Q<8 B_SX6UZUA$]*>V*GR&"2@O7BB%B;Z_C8G#&Y M9Q8CQRN#91NW=41JVD2F8V3WC&O+[OG.0K-?>4CV$PMG)4)V;NM^TE^SK3KO MT6$J.V7%Q7$PW=[K=-CE[\B=NX3EM]2O4]_L. Z/Y$"BX4;63L@:TQ1'*9$9 M&<+HGBWT0H=L9!+6-_"1P*]'EQ[^OVU=%L;*:>25M@MJ%W2.JJ]_5+= JGCN3]]8T1T[GN"Z)!5I JQ^$Y/T M]Z$J7![>Z0ZK*VXX=W3)O6,4@IPXTH#'1CN:A[4\%N.Q87K+HD95S63N!XW@ MO)>&UX/]+4S/;*]L%]0NZ,S-LTQZZ):8UDHWH\&8=?K/ MXJIT?YEY K89Y+P1L:Z=Z_(P/QZVF#\.YH#O D7DN6^Y/7H4:U3&R^Q'LKQ7JLI.)Q7PRJ MMIO3:@U$99\JDDXPR'Y]G[AB[5"AP(LB0S\]JZ,EP^'((+=D: (9V"3DC>J]G=R\2U MOF/K>]%++%5]9/0A<6XU1"]58VM0+2JL>6$$JJQACM>&W?9!C!9$V4G&C";N4%&]AB-Y*RFZ2RC)Q?]@9]'KL>7BY-]B" M(67ZI'GE:?Q:4W;U4,)5&]'+(>(["P,A:/#L0>$M&#Z;XBK6&5$5E]UF%ZR. MS=FPZS>"FWU2[^:)7^(3W/-S/_\(^"(F90A[).Q6FH]XMQL;X3>\"N9!V;#; M@OSACG_5SV=+$/"*7U;#2^&DA0VTP9O77L3==C91K84)&H7?":*&UNK?S!NY M[H; '"MV31 ;"QN XTVPNBT]*X9+MN^_D3YS#L*+%CD0VW-+X7D9(-[<+D4V M5P!%MH("=67H)EZD:H$M]V\.)I\11M-<%?DI!&70]R"P=K&YG'<9;>H*K%60K.>M4U M?K\8G,GI_6X:U0"^\@.H1T*)8N,=\IAZ1\#]MM;L3O!LUE(]H?("/G$*67?4 M$)S2X4EU".F6/$T[.X1,TR7_,A$RJ@LAC4A'2G?OGHAAP/<=:4%,8BL&;Q2G MK713QQ@SAB;+NY!EZU0:V\*IWQ^DSM!VSZH5];VV<=FQ4#_&A0]Y(Z>H17GJN.66Z=Y>9566@TEV17I1I:X'P'U_ ME-U^:'%?+>['_?0H6XO[>G$_RF&\U5+774.NWS'3^C[]Z>K.)I;5)&FNC1DM M6[DI#)8,^2F9$U*.E";4YL&<2#Y(FP?3YL&TF1"-RH2XA.6WU*]*WY3UZ[.F M283W_T="'5M7T9!Y8MW]T+R &K!8 \P M.&XQV/+@)?#@T4\9PYJ;J^O[7,TW&WX^S >:].1>&34:RP G9$,5FX4.O_C7XF4<@\0%^&2$K>50P''G%WB*OQ%9UZE76 MABLFO2L-&6 Q8"1GL\;MS=B$YIICK5\PE;]R1,/?7<#/7"?(3>$+$F/C_.DJ M-CA:\"<;<1"#G(&R"_I#4O=(3(7EE399*3K6$$NN*:I0L7;Z%:L:L=S4Q1I) MB;#P='I%+6(U&"E2SQW%SC>?\B)!\*]#FW-H62!F'<&T X5\D[0X!B1S[I[E,KW*!"( MJ3[N=*3 RQA=EL1M\O>0V$:D54J4U#W52]N>4AF_K6#^^^2G5+NB,^YG*A-H MD//%0V&>;MQJHY&D+)%(;+LJ45XF%E#4SDO!__4H/7/LQ*VXH*M&R689\=X; MP:/AP;AW?6-J=R9J)OV9/!B*21] <:F;X_?;N#$,O@$GI&+YVZV-[3$41!3? MD?W&&J%^%7XG#>IUW& =-K""CO7;X!N[WSA#H]=.S2F3=+J_S09:%>P$'E 8!_M9IQQFDZB$4L7>2""ZU)U1T,% 5:_+ M#(-$GTN*ZH#U&AE=T^=SM'AY-QN+!AU)Z/&-T$ F"C!Q7 [@&6M%OBNO_.<& M-9?AD$F.\DHX5_.60DA:1U)=VT92$E/Q34]X4K*11!W0=)3BFY(*G 3.E^CP M@AP#-B_AG&+HRDPW<%/>;B=S2X#^\&YH>L6[;8NU;$+.A+UEA;V*%$S4D4S+ M86 P%XS-#0X0XSB5<%/9:VFBNBO78$4 $@$^4UGIJF*"@EDJY@(>1G/ 6TR8 M"=?(W& F@/_D(H\[EJ01L)]6*'>: -G'!5LI"+CMKU1']@T6"52'(2V0%^:K MZ29KXH2;GPNJDR^,(9XC&V9=*QO<$#IA2+40JKPY8;4,C-#$WG#HSGD]G6#9 M@,*U9:.,X^DS"R7:2D&A$V Q__M-\1RF)O'MJXD#(;)=),X.6A) MT$E #9TNT7]#W 0*#SB#Z]#(X-R_YB2")SQ"^XXE?#=#L!!2$I$']$H_WCQ^ M>I)N5*?CB1TN]^\RL\T!<2KX2]C]!P>"QV^^?A?B!R/.70Q?S*6_C 9=OPT: MGT[QA9F+IFZ"E"GL:=,RK\2/35*[:3HSKEL!@AM511P#QSW8E@D?5<+L$OYF MXW3N-\ML5"NUO!CG&&XZNP4U,W[VA>#M M0L$I^I5$EY;M2'@@?>:!H=&TC:;E1]IXE%LS%/:G$GLH^\R$"1[T^;V[*-J[/=SG%0>X>QCWQE& M^NF'\-5_"%?=&V%SV#.04ZDN-HH.^LNE(,[+035:6LB^$<>K M.-LVT/*2H-J3IUTAV08*1")(WLXKJ8:BKYJ&X;>Y41Q7P\?FX73?DQE-K$I2 ME(3FW\$K]%[K\E93Z+HC/)3HG1Z,UGNE*-W[".TGQ-2R;"8'\V2J]USR:\04 M/Z5.OR2;=Y'NG7Q2;#0*Z .QO>)_7;TQM5O=P-+X"T_4:E!58]OVOVW[?ZJ) M;Q>>]]>V_6^I7V?;_^RG"-LQ'7 \5;)F+8QX R5LW*24R.@,873/%GJA0S;M M'(F'(-P5=EJQ;-93:(9&(+]TG9N!#?.9VP3?=D&GOJ C)'FP)XEP^*2WAD7I MSX'B?W_N&&\7U"[H!(6\C@ND;ZZW&.MYQ79**M.-=%[/_P"G[+3%O MY4YWF.D,*A-HYXXNN5<=KK*7M)PXTH#'1G*FWMJ BCSF0N" M\UX:7@_VM]L_L[VR75"[H#,WSS+IH5MB6BO=C 9CSIT2[8+:!9V@\+$Z5)1LJ/$ M\E)1,CG4M:MML*/=:-L%G<."FA;L2$_F\BX2EJ)7_[*+E-B==)EUW^45Q0]R M5AVT[0@J:[4\;#%_',P/VQ8<1\+\]* \W]JFK>73+N@<%]0TVS3Q(*[-A6X7 MU"ZHJ>+?'L5=- NU"VKZ@D[\*.[&NZW])?E,3N*/]B=G3\AV0>V"3E!WU' 3 M8&(SD]R?%$K=%<$"4A-6P_KDX%WUD>!W*AZ;W3FR:""J2 O)2:<_2&]1?=$- M/ ],AAT7@K9D.!P9Y)8,32!#CG.A6OK:UFUGMP'S=D'M@B[1(&;O_M;V"FD7 MU"ZH\=)>,G36ALK;!;4+.B%YKV9W+Q/7^FXYBB%ZB:6JCXP^9&YGL60K@HS= M&KK78Y>KUGWYEP$=KA7?5*'@P^=&BSF?+'XYH#\IF14SG!J\C6!#\2&\,&(\] M?3\/'HR/0G_;/!B*V5XX4/)LY00:[[<7#K07#K0MYQO5<]%DYD-N_.Z*Z"&(0]Y,67V/L1H 6+2V\*R-(J,OWV,&!O[Y#N7[AVL;8X; MQUEZTY,69RDXZU773/AB<":G]U!H5%/ARH.:CX02Q5:7/)V#/!/#6J,+G]%: MJB?\4L G3B'KCKS44PK(58>0;LD([=DA9)HN^9>)D%%="&G$$7>Z>_=$# .^ M[T@+8A);,7CS(6VEFSIU;,71G[,>SUQB6Y!^?Y Z0]N1I5;4]]IF.,="_7#' M@6>+^EI1/QBEGS VM!%1O:WT@@H;GFS $@JN9GCP)JFAD[?"/'7<$IY2][IG M9*E)[GO>+Z-\Z@"X[X^RVP\M[JO%_;B?'F5K<5\O[D: ;%5PRW=FTZ2-M^LBYKKM-'VD3"!J:0' )RV^I7Y6^.=0MQ]BP2Y]O MO*,MQ]953+A_8HUU?C=U)[VMSO$.,K.?LN8XT>R/1YU>]T*.SVO!8 \P.&XQ MV/+@)?#@T0_GPIJ;J^O[7'W0&GZLR@>:].1>*D M9:"F,%"^"%J>X%5Z".R6S(EMQ\8(XFX_=&=Y9VHPI.8JQE:$CAXL/#9I3G0L M@=@8O,O*:*5.5 OX;-6[J$?RT<9HW21*U.^FLK)@YG^#1S9W'=\4G2L&?6[7DM> MUVM!/4ZE-4BSI3$B;8ABERG@$ LHNB6DX/]ZE)Z;4:?"KTI5QS>#CY:)>L%F M S[J](\'8N,70!DYJUJ77%/G#XF7WT@:4?658M!?WMQ]^_SFUZOK7G?4#=:U M:]8:(/RG"FZ M?KG)] ++ _Y23$(_4I6,]"'6:#O=^7C0W^C*6M0X'EA[XX' MQX?]R9H[+\"4-Z;V%12!0TP%QLZSBOX!*3 HQN&]XT%8 8=WCP]]40X?38X/ M>WD.[Q65TZ^*NM1-8F]@;I\!_F9;E$;6<$/OYQA^OY)[5WTY!-/O3[=A>*[Z M;WX=CD!?ASDB?8Y2T"1(6"(TH[S0W-[?C"0&3#1W\@ M5P;$ S-)[TS5)F!1W1+^W_RV46$PDP'("+RP_PX)KI@R&X#B3YW0.TI=?GE% M:4![HPQPQF>.P_N%4$K(/7@D($3FX@LB_8NNS'0#?$MOD=RO 1?\?OY9I^ G M_0.\EN)L.XDBN#@(A19SZQ)\]_N+57@%8[G "H)Y2X'-LGD*HUX>%P<<9RX# M^F?++) #F.[3LH$ MN^'X(:)C-SPXYH?-V(_?B;V2=P'XZT/_'[WI;1H,^P?/!=RMP/.CXA#AG63# M7IH/=(U6;$;@$R;?#3QK#%*)%;23SCA-84!VQ!V2.&XTR G(T]*R'21TM1B1 MHPC9GJ4P'/D0,LD)QH-KJTOX[7YFZ L>?RXL_;UN-VIS;HV]?W90M'?F$P$8 MM%)F9*\WV0-+;*:(C\J:.,+N=+=:*ZIS/Q<)$\+3!O/Y1;$U>N\ZU%%,/,S* MST,L/DVWY'\H"P\V-PB5+P!\77\!^#G; J;#QBQ@C_2D+& P:LP"$.N#W!08 MEZ: )S2Q_>:;BX$\1 9K-.7R'8Q7A^T@L'7X\ =C%. M!^^C=W1LY^?O26\XK@ELT;R7OQP2#'Y?\2INW95B];Z\#_G[H:EO404%H8_* MI[&+*BHF@TF#%U50B/K]ZMGOQG1T36PZ8%FYMHZA1?! #5N(\H8 MXRVT$USD,A+6&T8LP$J .]2*BXE?/WI^=E(K+B:;IT[C_(+;'PYZO9I7G))9 M&:3:_+;9KE5&8U)8F'_#0P5Z9_)3F\H$.N+85@GAP==?3+QCS'[B."@F\.>S M_F+B?QH\\ UTS=H[=G&49\)18>%A;!86ZYX*Y1O MEO,/ HM4K87)$N,+AY+'_>A!9VT@'@P77-U_MFSQ%3Z7.=7YUX?>/\9?Y?'M M 3"2"&@<38_HO-[/?Z?DAE+BW,\<13>)=F>"&;Q$!H7WLQQU%CX-&TU6I\IB89.%<$T>R3,Q77+A38>RMK(X3J,,N7NAC8AJ7/A! M.Q$56T04X&\$'L/T=&FVD9S-FC2)4!?>R:97V_(_,O7>I+4VJ6O/)2R_Y?2+ M(76%_:FR=RUA3Y["U66]ZH<\C=O0#K_P8W5#ZV5M^^/7%4FL8F]?6?KVN+5W M3]I;:C_*WC.I,Q@?X#JG)F M.W#9T?>VW[WN_K2WW\)I\TB_,^R/+X-'*L3: ML-/=T53AK+!6EV3)YRY9XTYO< #).GJ_.A]$40J_9V<]J?99-[G)=8Y-A^M7=[35OM:+^;2^'%KI$!$UVQ#I:WJP5 M]7)GW)VTR#^28NCO]*5;! %W[@C6-/2*S-PN^9Y;, OSQ]E?/#?HC')8-1=U M[5]1$2U"!C#[KWLE]-C9\^FP,\EQM?A%\>D!L#_M# ;MY:"-T!*C5DOL,';D MSF2:'N$YVDVJF=*'M]*I^4.A9/(',/S43;%\XW4TESC##0TKQ5[H@()N^@T] M;+WK8/D>#FJ9[+NUUE5IU!U):]MZUC483I$HT-,@'?A*-U5];1#*[SIGH,SU M9W)%';*65I9&#,FQI!F1E/7:T(F&?RD&;UEJ*ZI#I1?=64J\.S"QZ75 <>G. MD1;$)#8\OPEFGUNVY"R)9 <4DJPY_,GH)NFFI)@,#H57U3I+Q8%?YP;!V?!- MF)O"4+SK*P+TLM35)?L)BPT4<\.N06"/,]B)Z>B.0;2.9!(')P.(K!>,WG%P M"*!KI6!QC4T,\EVS(D"PQZ!BM@9*7C!?,+R]*HA'/PV@J@D$TD0*])>3=\ M!@,LA2U>C'HM)=YD$Y6W0S'9D:;]0:2E\@ST%6CG6 6N1'^)\8"F8]X.H$[< MB\'@\7A74M0_79WJHB46=2B3")A8!X;E!%>M%1")8B%EA_%*C/$=8J\HLI1E M$G:7 ](17J0L3ORBHZ@H:QV\*="4[#OO&@\&BH[M;C&WB'4!IM%1&>>35Y7 MTKSAP_)UZ]K85 AU%AL9D_HZ# DZ:P>$8/F3*YZ@;4W)A1[ MEBIA]>G2"P2 MN%M?H7#8NF*$9_>0OU(T@BJ%H0L$05HS?JN$?M"C3!FX"J(J[1Y5 FM>??@J!X"T@5:C&EF*:-6 M?B%"!^,8 !K!-J0ZWD_#BXA\IG.6%B6)LRB4. '67AW86M@)@" MXQ(_5V\)C&L3!6\6 >Y<6SIG$>!D;*"P8;Q%'5&XQ*"A+MM$8%0!#>@'E:P= M=LJCPM)Q%Z3(;QHKB\!= Z94'+;\.?"<9>,^I^.J+(DN!20X$QN62:8)DQH& M1]**$ ]Y !-*F*?I9TRDR%H!=!*\+@90M6* 6'YWNS!^OB\)8)%N8-M>\>V# MM7)1[!!AF699@V&HTV5 <(D"E?2YSB^>YS('[WN* M@T$BN,.,DWSD1)'2D?YT M%9]/@(1KKMHXMB(D#4!F?T>LA+5" ]ZRUIZH@"+4-2$U3/F'=GG!/,#].O56 MCBCFZ N1+ % ,B6V+(]6"/EV S,(]4%Q]=-NH/MJF&BQD&%.H"K!)&3$]11*2-0;179CO// \+8P"'H;49!LP,NPFRK#>BUQ;,9V*Q142K<;@ [V;'UF0NSP"_\0<"OQO^T(\S,5-V*$N.9 MQ!1'"'!O,UF!5_(*(@?3_8%6%!,$6]@G)IA$7(.@;'%O@09"P]@VF;_ ?LMI!_:?R*Y8A3(K M_ ?CN\R6C<>D!GPZU9-H!O?N[1,V Y,K 3!-N ' =+>!IC:W9H7]&#%#O&F2 MC4W$$QH=:/VRS9]O:J&9 "S#0-2RYR-R\!@!)OP8KL\?B:\M_*M0,&'X&:7" M@W\6PABA%2-+ HEV,$D'33N7\O5S&UY,[[G,T@+6P,S^L'( 16=YXPK#P*%3BKS(!\LF'ZGS-9 N=O$Z4(';B<&'H M0@_K-(P3=*.0AK!RC2TTB;#LW&IY-\57&Q7RC.(_2' +,3@3&J!CQG%'^QR1J,/*;8N-VG$0/XS=OPDKF6 MJ2\/7%_/$2F F?F_/MP78 K]P)C4"].- MZ!DXP%>!C<,&\,R:CF_3"I?.-)B] F(-UAA&VT :=^U:-FOPCZ+%;'C%8W-W MA@J1Z=RP(V>9FBZ4ACY'>ZC#7B1.9=!_:1X 0M3H@7']U,38[Y &N%L M^%$S1J69A,9U)QFVI"DKO 97V&;;\_-@K&]T>LX2ZF4!.E((>_E;*UT-6 *8%-B+1P?0Z7=% MY!7L$8N!S7B,@@0P?QZ1$:((#B]N4X[% S0=!,0!CIHQF)29Y3KBW"(!D> E M"2]1+"=F-1(,-6%L 6QBW+[L9VZ<<#M3G#H$-@+W]AD:';!1-!9\\Z;RGL9E M>B<7?"5@S$@ZQEKB5HIHUR7BRBBN@3+N=X$V&Q$R2?(U+T,=^GN92FP,@X=" MDBZ+' H[)> TH+7._"UBFT H-#^YZ?(',XY7DO*LZ :+G7FDCCLR_ARAPYZ8 M88)[VG8L3^=!";18!"/.+3S38JR*%^>]]\T_PU),%FFP> M(R"'$"YXH>]]YM3"=RP& =8XB]TSN0F6P44[B,<*^UD2,2OPRET,Z(M3%M K M)D$[G"(>M?![)BH9R]YLASL]@6 0 Q[ 8!0!NF?+>$9)G;OV#(2.805U>0A^ MZ47Z]7( P?X]( ^\8%O(:./Z!(%Q8&C-\W#$]M MV[,3[O[5MCUKVYY50*BV&51-RV^;0;5MSYJT_);3V[9GV7"W,\/V-+I_-63( MMNU9V_:L;7M6&'UMV[/SXI&V[5F3)*MM>]:V/6M\EZ"V[5G;]NRRR-NV/6O; MGK5MS]H.,FW;LX:AOFU[UK8]:RKJV[9G;=NSYB*H;7O6MCW;P1YMV[/&-#1J MVY[MC#FW;<_:MF<-Q'[;]JQ!?-JLMF?UYAE_D(2Q]!(82PE9QZ%;H/>U48OW M77NPL:.%LWDP%-.Y,34_?:!8X[5SR'@^L$O6YL_5O?Q;HI+5C-A27ZXQKZSN M8&^EV6ABSJ*[7;)FSOEBE@G/;$$'\9N%1ASN.\@/U[)\(0HE2RSTTE>L>)A5 MW*>N6DPQ:6#Z@KPO4RZ4&31-MW?K2R(Y>:2EAQ(:E?)1E>X-BXEO'67<+AM^ M5CKLC$;I1PH7>10.*.G6A9*C)S+Y7D7JL3$['?;AC]00!U_[Q;BAE>[^=!!# M^B1#]]-N>]Y\)-2/QP<]T3OTGN8M 2$#:_!ZL).@IZNQ1YWIJ$UQBZ%D/*XK MQ:WYF]@70D-[F**J[LIE/4/#&]O:)JK.][560Z8;0_UA.A^UVU/-R)?E=+UV M!AM4(2$/CC>\R#5OJ.29I.RNB,)<=?Z')^#>'/CLI,5^&/NC[#;GP2[LV7\& M%#\U>L+^_*Y![N>?61>VK[JIK]S5(VM5);J6T<^6?<^[I9L+%E^DT2N ZCY8 MRG#Z=JASI:0N =O)W"%*XZ%85K$Z].G3ON,6G^CL&^^LA7$ 7O2STIT@N-R$ M@Y=D@8)'D!X[[/_H60P;]!T^EK"D\@<4V7EC[V:+[U>BQ+<'RG5T4A*D0YZE M# 8_I8&WGT_813]O>;M;D(J?LS%**)9>\L!!]C18L1.&8B<*@_Y/::S1GZ2; MM857W0BE 91.7]II'7V.=_@>#933-'*DV[JG18Z^G%YH?9J"DIZO?EJ4F9Z% MG*2GW9X6-295L54CQ"2#RM.24Z+2E874GHV8MGW][RV0*+V"@%!=KS"TZN5N*#ZB-#JPZ42;7E$PZL)SFY!C2J/ M\,%]Q 5?6?,K=E40I7CY]]LO%L@XOU:179[+O]_;\/'$D__E3F]ZC%ZJ)X^V MX3C='3S+J@D?VB\1:WQS19=X62B3G+?W7'14U7;!$0Q9[&?2BVZTHT[Y,A-3 M=Z1<'Y_WJVD2&V=XPQ*7!F]O&FME@^[ N;#[KNX=%\GN5*W%KP MD?_Z[G5F&_I[_#?\^?\!4$L#!!0 ( !*3#%%IW3<04PH "9> 1 M9&%I;RTR,#(P,#8S,"YX4!)AP:*?T2<^]Q<@P M2CC[1*C/HH\#>^9L),3DN%J]O;W=H^P&W[+H&]_S6#EW#HLCC\Q\-6K-@\,& MJATT:PWXB^JU#XV]NR$@;V.1R!NU?S7:M7?P3[WA-NK'SS/C?WS_L\\.[0?#YND??Q?VO]/S2P6.[Y?7%GY/S/UOD MVRC^[:XYQ!3_<6_^$5W=QKS5]&G_Z_C+T.NE79YP;T3&& '9E)]6YD)YV]QC MT76U4:O5JY\O.TZB5TD5C^_"@'Y3J=>/CHZJB313S6G>745AYKI9E>(KS,G, M,T@#C7Y N<#46]#WQ0P-$U$7(U\0GVB-97MB Q MI0S6+5RFIBVR;3()8&%"P]].Y P^EHRY@!K)#W!Q4GF6HBJLZ5@B-*EO41&( M>[G HW'BOX("_[2BU9 ]0O])GSX9!C1(@$TO(W5DH,Q\_B.F/DI]H3EG)]5E M-W/.8T[\'OTE^3R)" ?"LEP'O0HH$EDW;Q!).D)<]H3D$%^C5Q\I MCOT T+W>T5J&G3[\3\6(B !&M#''BU[TA#>?EO"%KK>=]%E<>6_8F\AD$_K- M\]8G44*=.68QZ.9IW]"/GOBW.N(=%_Z[M+I >N\<]?K6P'1M4"B8 H!I.@UP MVO=NZ:O9:[$Q#')$* ]NB V%RYAT&)^G4L]^"7L]Z_OE66_U+OL#Z\+J.O8G M"]E=^&ZA5YV>X[Q>G 8[LA5D]8:.8-ZW$0M]J":M[S&D.1INE>IZ*@]*42F9 M=-Q>Z[\7O4[;&C@_(>O#1]O]LN,I"WP+\]%YR&YU2V]>2\_*86E66J9S@M'9(*CN1JDC**>G7>R_@BX%S(>P]W*0-V> M:R%9H)S;74AU;+,S1Q)<_OIF>N?;4EH:ADUO8#@L"@A_(&&Q61_R(V7(99UA M=S]!E'L#VW*V-+Q-HQ\Q2)[$?1\2^Z2VABO_1,[I+A$/\5ZAIR6@7E,2(//^ M_D!F=NZ7-Z@/>;Z+S&X[N3OTY>Q_@[J6NZ6\O#5Z4,-$IN=%,?$[ ;X*0NAS M?@D4J^C9J"O9D,EXS[VP!LALM08?X5;1LI7ZWU:N%DK;96940CT/I:K?;8^YOKQ=)J&4MI:5 MQF-*XFTGJ[#P7>9IE:*>H@WJY&UG)BN/EXE8:M?'?57QO.U!SE<5R^$NU- ' M7EU1JZN/;2>AL,98YF*5HIX2=>VM*TFVG9@5J6N;@$E8/M7-]/4TJ>OV4KGN MM(-MI6LAG\V1HY3JJ5 7\;ET=\O#KL]@I\')/1.RD:6>+G5-7S8/SEA<>AID M2TDM3'=U?*YCI*=27?"OR)=W#*[#8'TC"NOE.51O%I3C$-5W+"Y40;IEI]'1 M,M14;QS,5T>[):4A0[V"=$IZ.M2;! HZ=JM#34@71S+3EL^2KB9&J:PG:/5N M0D;0S/F.J()?ZY=9T/UZG]/5T[3&K_DJQK:4HOQ&3^$C^?*MC%Q]M:&]GDKU MGD71-I*M?YI_^E+'EI=K>9Z*EV()73U_ZSR$L%N+JW<$\RE>?F65V"\LY4;/ M[/H/.!1EDT4K=<>]DK1Z>7[K*SA4;YB4XA!2T!T_RJ WRO/36,&/>A>D'#^- M_R-^Y#\RA@,R1,FY!\?RY?73"@_&DU">4I"TC2(R/*WX0)B1O5_^.PQM[VX< M9BK2M>;<@X3CY6A,.\Y'?$L>WE)DJ\Y;=U%#.E2,Y5^H'CP2S&9"- M42Q,/D^^0A_=KS]KYPVS+X^9+\MG^)2:*IE1.DWDJ3Z/0[#IE,WC6#%?IX?T MI*?=F';O]]E/JVZ$*1^2*"*^RUJ,B][P/6,^=U@(#B3\TTI9Y2 ,Y1,BIQ41 MQ?+6( ^6.H9;1L!\-[FS^7'VRFLJNTK/_ !N0I$!:7WOU0V9A22U^C>%F0L MK2$T\16'&TTL/;R/6#S)5 -0T0TV_VY0.BY%^QI#2,&FQS<="W(GSD+F?7L" MN X.29O ^+E(^YK%']SP&?K5:BL'D]X,Q5],1SL(XV2K?0P+0\AC/Z0+/OW! M7]R;MSCR>2\6$IP\_2X;\2:&:Q.::B0[#_PIR(PGD[0-A_-'W,R="C4@H7PA MWV5SCS*ZV7R:L?UX/R]A;G^D07;V +\DXRL290-42C:%[+,Q#N@3X+V$U'C4 MJ-4/%L'FFY\=J3F)@C"/--_\[$@O\;TJHODKW!U;D?!=0+X*JV="4HI?GLXYG=;>5]>&D$!;)GQVSZ>")( MI$"LE#P[7H<-Q:T\]8OZE^!1$/D\+5E$OD+GVDF(R0VAA9@7A"\(M15)/;DD%.5(>!!9S= MO2];BC38V@@-*PF_W*^_'@EA0#.CD4":H6J3JCC@Z9[N?GJZYWT^_O0T][0' M%(0N]C^=M$[/3C3DV]AQ_;M/)[>3AC[IFN:)%D:6[U@>]M&G$Q^?_/3OO_]- M@S\?_]%H:-4OR#?[U:MR' MCTEUE]J[T[>6UF@(,/N*? <'MV-SS>P^BA:7S>;CX^.ICQ^L1QQ\#T]M+,9N M@I>!C=:\VF>=\XNV=G;>.6O#7ZUU]G/[]&D&DO>L*/Y]^^R?[=[9>_BGU9ZV M6Y>=B\NWG?\*5A99T3)<5W;V=+;ZDY!_]%S_^R7YYYL5(@WP\,/+I]#]=+*A MXF/G% =WS?;96:OYZTU_8M^CN=5P?8*+C4Y2*L*%1M?Z\.%#,_YM6C13\NE; MX*5U=)JI.&O.\%N74WY#DM"]#&/Q^MBVHMBMY1SYD>X[AA^YT3/! M*IC'HH+X,:_[ ,T^G3A UR#8$\<@%?X@0AL]+Z"1A.Y\X8$YFJ5D[&(_Q)X+ M7R/GRO*(92?W"$6AZ4_O\3*$QA@:3S9:1)-[*T#@I5:>Z'NPE*31"'[ZT3V* M7-OR*E"/RO_0NI+&CXC+A,/9<$$"(KA*5J@1"F*Y]#E>0MDBVNY70Y7Z=O%\ M$:![Y(?N S(AJ\Q1'X>;HI754YQS9?H-9Y,(V]_OL>= .C/^7$(T**4.CU&% MTG>M\/[:PX_E,*#0'T+6 8Y0JW'M^M!^7BYQ&$P3A5@4\MB T&*!(13XS#H>1]VQA"$ YT MVPZ6R.F[UC?72Z:$",B&#$ ",'0=P8)(>2Z'W#L (?V(=IVA,1BDUU*+D^-&*V#=*9=4@2 M@PPF'-5RB6N*P"/(!J(X%V15DP93ZYMW$/FW&5623\1EY9#5DUO$12W"I_(\ M(RZV((M#YQQQ >D4U455</IT@%=6G;.H1&K;JE;A]"ZK:(U+;EV4LO)NO#YRT*]!0AWT%.RH>( MO]="&7Q-.*P6-%M:0TNI-O\+CJ,E++0M'A4)OL]2UY8^;5!BW9.&_W>'@\FP M;_;TJ='3KO2^/N@:VN2+84PGVBO7UZ*4^QL-Q?RUD%2@$0%?:Z]N?6OIN"#4 MZW3E,E7=P_:6NAY9.L7!ML^LM(W71V=6^"U>)%V&C3O+6C2)+S61%X7I-[%W M-^KR85ZU(5P^PQA.%Y69RLB2+ZKX(8SZH&MX3==BP GO+!;,+UZL2 MS7 Y3]R] Z]LB\NHLHD+2'&B/2+W[CZ*I9>((W3+XY7',;(1 MR Y#:1@NY?LAETH,M;94U$3T5@ZL=&C^O+'@DP5GNY08&!VI8-#T4L[XR2A6 M+$[3RHH!\58J$&P=E8,CD3(O5:J20EA1Z"A,+;+NG 6 3Z5&CF# (K[0KA!* M&VUW@'V[0(C:+*Y&NL@/3UD5E0,DV0$UM9Y>^AB\I$TIK$;*8"9MIGK*0;$Q MZYR;NVEE%>B@CZQG8F+AKOEN>=EYD T!HV=.5U@YUS+F"P\_(S1&'IG9*.)I M J2RTZ0P:L)F4 [ 'IHAD- 9(QB$+/,;&*N\[,PI#!5?8>7P8:P>"H[!V'2R MDZLP7F(&4 ZWE<3K;@+B#=8H9<7P>2Q8165NH@=!6V8KER MII>IA67W@#@'"G:'GTQ5E?.H,5D#\Y&3KKY"8UC.EW$? /*,:[N<""U"*[L# M) R:N"&4PW!#U'1S ^T4G>U$==O![H@ZN'$@V)!7>-:502,[U95$ M+-\,8LA)'"\743?O6*A*#IJ<._;OXKV6J;[/0GZ:3RH['91U5U&C\.'\V-Q5 MN@^?E=DY13]%O[6-JG/8;51;-;ZN91?9GF?LMZSQEF>-R11^W!@#L,3P6AN. MC+$^-:$ PRX@RLHV5E*E*KO,/@?01QT%>,8;E6T5DMI5#:$S_1EC)V[?*'AP M;11.H(GS.JUL&MD=(HKQ,_W6/(TI,:DA>_P?3R)SYO9>2LCNX.0CL*N-NBG= M>"+;D'EVIQ25ZB^6<;8(\ MX'F77!GF@>RZ,W=]-XR2 Q6YX(G2RXX+HB@6LX=R<*[5?)FO$H@>FX65:6Y9 M#7:@HH7Z/4:A-?A>KDIL+U6N4P"#*;RM5VZLX)!(5.0:!V!1/YF)LI^G@>6' MEDU0_6RY/@'K"LTP.37/F14OQ$1V$\N%;LL"P*H9 5E,/N)0]> M@P&2^ZB6H/'+!$\24#:V6QA/T ,#\[N^%3R;8,)X#AHHP;I>;*S$EWEMN,)* M98?T&BS*ZJI0.C5*]L+J-U%^8U:M84+ %QDX[!23[?Q4J:D[V:M%7S4TU[JL MW.X*!K7<:6$F@>RV*XXP4]N<$92LM9Z2=^MNK6N\$U_7Z YO1F/CBS&8F%\- MS1S 9T-[U1].)J^W%SI46 M\NJ^$W]: >#\L0SC.X($)@DJJU!V>"[N(17;7LUU?;&+Q[="^[E0:">1?3(= M=O_S9=CO&>/)ORP8"OZH&3_?FM/?ZEVFIUU/OJ71A;!&77WR1;ON#W^9*)*+ MR.T1H-PHP \N&.GJ^38D1P+6(R$=G/1AZPYL:FP7YO%7IBK>32P(T%$FKAZ" ML&F[J_NI%AY:Q49]CH/(_=_6-5&TLVTBU+)3RMY0%C'2 1&FO%RCF\/?U[<+ MQ/DK.?DQQ1N;01A[7@BQ(*WTJ\]NV+=#D]9-6>4E[W?$2GZ:?O;.*.YTB0"U[#..>V-:Q$CJK5-GI:>\ "."[1:9 M&*CGQP0J\V$.^>I0D2C- MYR?F!N^/R0V*&/(((P V#E%\&9 MBK-CPCO?:LI!+W,33TOA>:BRVWJ42]T]%$N_<:E?L2B=I18$5^&9J2)64@]C MAOID]!#N.0E.Y2'S.AKK.5Z9GV+=_G/I!HAY9RA;U2(\%)T^YT"[>ZE-88.I MY]\@LHV0$V\3FE@>&L[*H%Z$B:)3[05@+VXRY7HB#".LGG7;*ZQ1>2CBX688 M+LE9\WCS47JABIA?,T@5#6(<(#G>S#6/7Z$^0C%#@8F>W1\G9&5>(B^RV7$;G[(I^T=ZZDKO7JS,%+\\K M>:E/=:;@11)E=I0)O#=+WWGUGCP,YH:VA\-E@.##8#@U-/)RV+4YT ==4^]O M;, :C8V1GMR!4MD.LLQCM'3!/U %)T^$F8.O(.MP;!J32H7DOSQ+E;IU1I6: MW,@S&I/K9::_O=%&?1U,K0]Z\5Z]$3'\&VU@3"M5AOE8*UV/%E4/+VK@"U^W%AS>,P:3Z MF)R37D;8<]G^0AFU M'IGYJ96C1'N?!%N/;LQ,RU.K1+ZM1YLT\?*$STN_]4B:31<\F>G9F)XTZI&? MF3UX:M#S-"^'U*-,3KC=?7%\2R=Z/A>*MRN^-097FHM?2_H*#[Z8?3ZKS3A*Q MRLN>=RL"#%55Y9"Y-J^':Y&3^W+9L% +RYX %,"$HZ1:,WG\[N\J'>3= -"F MC[E$N\)ITMFY 4!B#F+:)+[SC[L^R:63^0X$Z3N3$[_F?!'@A^3.AQQU>#2R M,Y881+LO/^0:0;EP>6/9]ZZ/((J(NR&/1G9"*X5;OA&J/T))=I;TT!S[R5VL MV,]%@Y#E4LE.9L7P$%))T98D[XEQ"5&0W341!%PU]+;>.LL_6EUBT]SA:E V MQK*]XM#F5>BZ*^Y,J&@/ES[SGC,KJE['EOG$*V H\F:/*+W<,.\L[>@7*PC M-Y]CB5_>IZ$&>&IYV:&]&%39(,\Q@G+!G3RAEUC6\_ CV?%(7BGIUK$?0+ +WZ'OU]C<&Z!>?[V/PA AABNFQPEZO+L'Q#E(G9P6$'*,YI8+ M'A(,9]< H^7]AJQ@3\49/&7W_8O"GIGFWM>/_VL&8D>]10 MAR]D#7?<#@ 5'R D;K"2/9JHTPDVC7?4;G"-E_OFARU.LL0/5B,JY!$./PM,7\KO_ M.9J41%%9X+@*W/H.C$[(!CKD&$]D9V/>GL&2[&3W\P\(>I[-U)JTVIG'R9VC MZM!/J% F4 DZ?WU*V%PC"V!L'EYJKNKDAA+5^?H MB*O'%>+3+Z\+6WJ&KF_2.3?I[_)LG1K0=N\DOK(D#5GAGZ6AF !KZ3/T($NP,C]6?H* M;)]>0;_=3 ;DXZJX*^GLY!1(LBQ@["MT3.1^F6AK8W.,EU?-YLO+RXF#GL$+ M!SCXOM/Z>Z?? M^DA^M#O33ONJ>W%UVOV/8&$88-];%]9Z;87_5MD_V9;S[8K^> 0>E(@>CG?U MZEG7C0V*+]T3Y#XU.ZU6N_G;_4 WYG !9,NANABP$>6B5ECYVI>7E\W@VRCI M3LK71]>.RN@V(SAKR^1;$Z\S;"8^:ZZ^W$QJ)9C> .U95U[ 9( ,@(,6F(I( MXJ:@G^0HF4POR>V.W&V?O'IF(](IJ&P7V7 "9Q+]3=K4NE038& ATHH63?I5 MDRCI+Z"#%<=4'6SA[U16=Q% )? #6W,7SJX;)LDGTV9"VQ M\">1O/C[DMQ/ MGK58VJ0ZFGMA["''0[9%+D/S!MBT9O4YA-C3G.D<^1ZY;SWUU8!+K,^!"TF# M!FG0#S!9$:,Q^>W@.<26 >P"Z#'MY\V5^@E(FXPWFHV6U'>2IK(+:@S= )>R M0#Y)FX7M8244R;>'%DL7SJ'C6<]0(QW0 @Z0MPEM7Y[BE@OC-YKI&!G?YL@V M2<^G_N$3;[ 7G21#!:+O 6]^:Z.7_31@Y,\#ZQ!AV)9O+8?:KCQV$?$#^/N8N,&@JR)M:DGK8 BQ M"#PQ"WGA/95'Q F[BF&X/C0'%GBT; L+UF1JYKQ0GLD#2$8@0J"VT^:%X7Q% MECB_A84#3RB"AI\K+UP7,O$1F$PNR"1#4#=.EKP0?915X#K$O!=U>R*@^+GR MPG4I!V9E.I@U:2=&>C!AKY::N20//":]@:C.&4V5Q& *'NU<\,<-%=*?B&-- MR%9.WR(.-8N=POL9<=B")O+N<\0!LG,4YU7%D:7E+=S#BD,5-%&2K^I#DL7. MPUEM62K$6V5 FY2O''\5%IIA/GJ(S<+]V'YT]C!7%I-VSE18]O+VU?N)D)Z[ M()Q9JU@@>T%(A\"E;HPN]QR".,E,GZ:09??YCE MXOCMHXNXE<+'-+ON8KZ M,-E$"V!E!+V;NP3$04GR BX>H9L1;CQK\5B!;6=#&&0H'I>#L)(56I2GU#8) M9\"W\=Z-,LH>QTPN6XY%O<: ?(SAAJ\8.B8T(^34X$%Q3OWNCH3X::'UEJO:E&V6@#'NJI-^I MZE27WEF.A"/K'R08V)<\6H!$ ;Z7WGUQ@&]:!-3[&C%GQ\!CU=#-MQIB);Z/ MMG!$56$C(\;?IGM(D,N\U8);9 :\Q^ ^\3WY"8!EDW:J36AC+[H2=+-RJQUN M&ODIO/RPYD0J'6KDS_5XTP:/T [*?@@3L](V:P ]6)$2@!VFVX;\UO 4-P(? M^AE!9[YR;E<&5 M(5FEXFSB[(>C.YXJK+2YRK$[T$S3@EO-*!4Y3X].ZX@%>6@ST.>E233..M39 M[2U:P(ZG6[=:W71(U^^5,3$)79=N$2*P[\,Y"-?/\3,]L-KA84K&YT4YMZ[.B7GJTXK$0E05B8\ MZ4YK)YWF>7Y6V59YCEVR#18\NBF6YALY&8Y:*0&O>%DOE81<8E*NH]9+U!EN MKOE\:FY1) /5;X5'60Y\]BX69SE-BK/H4_+K7AU.=6ET*XW&ZD29:B0!)^)" MH(11%[ JLO3XTYY/Z\5JY$R\1GJC^_%$O5.'NO95E;0A^:Q*[P8C77\?KZ+J M*B+Q.;\8[W,AWI2V/AWU_G4W&O35B?X/L$3>SY+ZZQ=M^ON/N-J/N-J?/JZV MNH>H=T$.]32"L35VMB.)KR5QKMO2UQ;6M*@.)WG%D;;$"DGR<%.7\ - ME;LH"/5.Q/2%)DTO81%7QZRP*9B-3TX"VV'I6/1:Q M1$?EHLM5G9J%-+.$,NNO AMR/4.7 =A5B^G[+G''8^A:R%RUI.#+T3)8E%)? MR8S$\A+OE;.0X2E[<03*!HWV4&$#(W\27=^XU#/,FMC-3*"' M70&N.81X-+M%[@Q:V$^_BP\Q?1Q-X&"&]8SL)O5*A;0+8G6:R:O+I8VN@[7(U:QJ%CI&?-[.LE^ :/M1$(\:KI8E12N^8RVL\/ M<,T=J^X"K+BJ5[MFHIC_];W5,2Y3I)AF4,_ '@/+U)P>6%H8V$&KWCG[80+_ M\"W/PE"'[K-EP%5-3*"!GE9JI8P6BRZY]FVIE K@-KMJEX=(I_BVX8;?1F+) M:B_H+EIN[5>[.9VWN$YQ!\.5*7CEBR*2N_9:"9/@2KBQYE;Q)C_6H>>QC5L7 MPANW>HI^)]T.1O_6R]B/EN5,]!BAC_08#\NC6W_(D)I\&(ZFJD3/^;C5ALJP MIRF##5[CB3I65AL3BV3"/CT]AON2B9L>Z*$-OQ*HHXFFZD5B%#Q"?1-TN\4$ M38_?&$_HCL_I[Q^D\4 A%:T,^\$^OS&M]@_24)T6R27]C/48C3:3!MW=.IK> MJ1-)Z?4F7\C],-"4&VV@30M68N4>VQ[">,K%>K'SA5!M^5HG3*+9:$TYQCT$]8T*E'D]5 M)D,"59?(32?I=\I$+1)O^K'N,=CG3-C4X05(Y1O2;/O!?FAUJ!?NB[.>[QZC M4PB7CN?4Q2NQ>7,C1AG9_G$'WXUF98WE6QG/QAD+DT[8ZY-(#Z2A-W\ C M-URUY#P60Y*R4];T21@N7JX>5=6\1T8G(4*/^UC%&QU6\I(?>DFKVQT)^!2+ M?LZE5"%J^7Q+#F(5\T@+XWVYBC9Z6 _4=4!&$MR-]C0M*VG9CZD(-7*4CCEO MM\2I7<4$2TQ&L*EUNYNP](=-LE8M!S*W9G.N6AW-\ M];-\Q[PE",JJEYY$E M5G)2EM*?#,E:W:G@N1Z^ZD>OGJ'C)VV6BE(\M"]J'B^+(^55>-4/'9)FX>#5 M[&QB>=_(#)I> $^PS=<@*5?]=4E'+^#ORXM?IKY@+3:)9J\I[RSSK2?,E:WS M);P?*T:(O;(LNN87\=PZ.:22-4!1QNP%YY3UP!H29;Y1+,:4O28MQE1JE\E5 MX*UNF\RZ[)7JS771"@03>>-;C 5[99K!HE(Q$M\#%^.3OEH=\5G;+)-7AM?$ MQ6AEB"JS&):[-)_I;7$QFNPE;]["O99\F%;X"I,R^L$,;YF+\ M,Q>CFST:SG.B/+E_1 =^1 >.)#J06:755LPWJK0D6M6)YV@E9JII[$ $>BEA MA+PD2CNM*25;-6=JB52_D& U/UFK",UJ&8DH1M=ZG[?ET8,\$Q?;URM&6TDK M.F]+[![:7NUB8*^G@YQ #Q(T<\4Q^_ 9VBA8*U)?Z> R]50G@ZE=: 8NM2M=;NBP";%7 MTL4(=4)"H7+T!RV=7/D_4$L#!!0 ( !*3#%$;:@V9Z2T #QX @ 5 M9&%I;RTR,#(P,#8S,%]L86(N>&ULW5U[<^,X[L[ MD]M4S2[U^]>W/R"N$T)%&#0_FTQ>H;P( MTBA(2(J_?Y625W_^SW_^)T3_]Z=_.3Y&%S%.HD_HG(3'DW1)_@-=!2O\"?V M4YP%!R2_E/\W"?TQS=?!^CXV$'83SB-2/9E-MD*NRN* M]:>W;Q\>'MZDY#YX(-EO^9N0N(F;DTT6XJVL]R_I_Z-W) M7]Z_>5Q2S<^#@G___N3?WY^??$?_\^[]XOV[3Q^^_?3UA_]Q_+$B*#;Y]L=. M'D_*_PGV/R5Q^MLG]I^;(,>(]D>:?WK,X^]?U4Q\^/"&9+=OWY^3HN)[]_'CQ[?\VXI4HGR\R9+J-SZ\K=392J;?Q@;Z MFB9Y_"GGZEV2,"@XK*P_@[04[%_'%=DQ^^CXW?OC#^_>/.;1JZKQ>0MF),$S MO$3C]@/?60_].X;]D/_ M6GY\&=S@Y!5BE!2*6KL^-F253&]]*WN-LYA$X[2?UFWN@=2G8R[R8]O@V#] MEJV:;W%2Y-4GQ^R3XY-WY?3]K^7'OTZHP['";)G$*YP6U;HQ>HSSZN>XK=^_ M)4#8TQ#;(,Y]R;Z=3A=8O?\>H&9QK[%70^$:55LXXCB0@,>G2:M3'#Z!!9 MTCT!B7+JCR<1#)3,<(YIT]V-TN@F2*W; M1FAUX/>)MLYFU0'HS P&DUTU;L.TQH^X -20@,JCD->7),^?![AY5M1 2__5 M!BS]Z-?KC$2;L)AF4A_( M@XJ"F/#N9S>7O///1Y/IK\QAXYM9_6&7@;Z;UUOXO:6R"8B&% PD%#Z?BF9.&+08T)AH^[/1TX2X(\GR[Y M-L[EO$:F'^2L1J>V\IRF33PXIEPUE/;# MHT&GD7R41VGH;%)2'61&Z=S=X[2(BZ<9ON6W&VG!(BH5]JC)?'6^2*B+"(M= MY0(0DS#PGNEJHP@*4)/XWRTUE9.W2N)[0%B1E#)LDI @'/((9O>X9'X7T-:8 M;@J><(@ZX?I3 R.3Y^,8!P-:AS(&#D XPA$9QS.C&K<@]X7B2-( M<45Q03]3[:D,M+[OC;3JMN^.)$(04+)II[U#*D^*RZLDS@( -NS@V@TT-7V=J%2P M\02Q00$&1$JUI%OS^7R\F$."0GD&X80(B=8_,#3JROAH$0*#B5H[Z?[\RVPV MOEH@@9I/,&!S%N0L^0[[@SURNP\2S)))%&=!ECU1-Y_G/-48[\CK-4M#%W,: MF1M<&,' KHNV$@PI$W^]%+*_X!T[#$".PI =:N4S'&*JV4V"KW"A/A)W8_'\ M&-^J?.O]O98>#-@<12C%WKH(D(0_LX1Q:D@Q%9'-3 M+#?)CH62_-NW'SA._^V[DR,J(E]C?MB>'.2JYA!)+^]I Y#LB;:&IN6:)'[3 M6LK*-?-8[KX' S2%4G*F2D$2[_\R]S HX#DD&EZ QC@5H4]$Z!6MXT*F H,. MK6IMC(BT'F$9K1AP#AA@<<')@!"QHF,X8!2U?-KV9M.M2DP(2&!<9V2-L^+I MFNI;4,=NFV]"O[:867S"QD7Y.HI,]&!F&P*08^;Y MP$";R'&T"!YW'IUV1590^D_/K5153LO=( .#)+UNFC3<1?!8\YAA0*:V^%[1 M7G/U=.JT SD[LKH:?V='" 8Z)NW47@^D14TH;EROA_!O](X-1(_&Z,I ZNW+ M.+B)D[A@"2I2D9GBCB01SG*1?M9R).W.[A,Q78VJ8\J5%\QLTU'A-B0O)Z/3 MR>5D,1G/T>CJ',T7T[/__G%Z>3Z>S?^ QG_Y,EG\ @ZJ;O)ASBK5BNL.J5N4H(!D5$]1?Y7<<"\ M%M0PP#->K1/RA/$,\\RT\K#0F.[ YQ-2SF;4T65E @,T5TT5F,LV.$)T=\<* M1/ @;ABX.R\3B*JQ'E4YSS'-&SAP<\QTS0J> MQ^GM)0YR7%GU9#_QMO-Y7==Y&E:LA$&"QMWQQL>(QHFET M1E(V"G :QEHGRLCAN^R:1?5V 38-.1APV754%64K.6 JO/U#I0+G6Y7."_@ MTJ;S-0W<:YEF6GO3PP,EI=^0)ZVJS4@GB0P,!/KQCQ.\^PH!MNY1GK0QB6:53TQLNC$,65]4;8BJT*G.!@;^SJJ;* MEKADA@$^AYJ=K-SF%2ZFRT7PJ#^6["8%6!56E8D=:['618 !;#^]3>@56^BP M496'ASU%:-OMK9,O<6X:)QF_)D87@'TB8:)&?-0O?ZHTD! M9F%4JJ7/./,W3@8DL:Y MJ,A[.=J>)3D=ILI,PYU-ZPS0'U.W.<# T4E-R^'U4>U5U$ .!FQV'2U7;3 74,DLX^JII1X47/IU4T,*%U3& M%;,)*(#+98>"!FXL@\+*LDJ"+F7004DSRJ NCN*&;'NX8XFCTU+[3\JC55E. MS".1@H&563_-@Y?:21RP?.#E:T+=8>WN:[\A&TVEFH$9XCLP@&@IU$; %2Y0 M'@ *[,Z+Z?('0B)^1X6S^SC$^9PD>K]'S^!WC;(IWERA=-1@<&-545Z=CP;+297/Z#Q7Z_' M5W,PV7%F.,>T#5G2^G.ZPB:$)\4LK=(NQ48>ORZ,@_I-O\; 9>+EJV(5;Q M\+"6:,<% V=SG"2L6#A.Z\&7"NS%[C&SH9U(AY<.($ M@\5.ZDJQ$8+Y"-T*=@[.H"$ !CZE"=UUXA]X&75:/F%Y73KUU %[9/LX')?D MP "SBZ2VV5NG' 0TLJI*V.S(@ )'4E"?40!@>/H524G3DG(@6#QY!SZ?J'(V MHXXQ*Q.89<]54^D@:GIUO//V)U=GT\]C]/IR.I]_!<3EGZ0%IJU5-*RJFVNJ MF^/"ZO?(V]V8YOFWG0\,%CLH*Y^,"]9R(H2!P!^".&6S]S0]C_-U6<-SNC3F M);?P>#WN4I,<$\CYDMXNZH%THTAUMJ*[EYHFD MY8BJY9LF,UG/+%HU7+T*E7L-S MJ!, \Q84JJFBE0!Z!%5JFVN<\5C.TR"/0XV9&EJO52U,ZC8J6:@(P:Q\)NW: MP.'?;;,(56L772)%Z"Q,&)W'R:;01OQKJ8>$4DME$YA*4K!P:NHG5; 0WT*' MU,]TYWY']1S=4V_P%E]M6"JWZ5**.#?-6!UE^(1?+_/JH.PD Q4^VC=!G E MXS@00M -GR++W'^OXQ05=V234T%05EF-U>5(='W6TED* #S;3'1 M$X$=$Q; M]+:B.BKG:<"XWKZ^F"YU^>:LR:@[2!@DF8V[:4TR=O0W*HHLOMD4+#W-@EP'#I5A M#R;=>[F.PS6)5-MC?]%@H']8>Z3XL<6/XQDZFWZ^GHU_'%_-)S^-08;RF%I! M?V$Z2B/^KX2?JX^B_]ODO(:%[3K\V7X-RA@[0).YCKD]?NI%C,'][7.[OA=2 MX%W?*YK%DD;;R.$Y38%-]5:6 ATYK(-YNZ**1 7 ,UW;$ZH,ET7%ECIEL'PI M:YS%)*+;DZPPX<4A7\HIOHU3=FZ*;H*$I4H\A M$D [20'C$_5673X]826=B"!&N*)VF6 &QS4O#W0 6)OD $"UW4P'4.N%0,>T M57-G2(.;JF=X31OP+J#:T>W*#!=QIAK/IO9R%N$=R!V-DS#LR \+OMV4EM_6 M;[FWAT@SG11:'19EU M=_009!'?J%^0;(GC8F.9>?>3"\"OZ-X,SLZSBU!8X^ EJC]D(!QY&62TVW1 M Q:S^Q 7=VS;R1-7@)OF-8[8X4=-![$ !DWG1G#US7\/0Z:K(7N-F!>ST(Q7 MZX0\8;&'N2X7S&MJ>*_EQ20-P/AP-=EY*=&+@CX:'/677G500>QHD8%>%-PN M[C*RN;U#E2@DQDDE##%I+V<%T39(C[G&( O 6' SUW6!T J"/@Z) M9$5#SG!(;E,NQ;3'?OZ?]5I[S5,C-LJU/?-O@AFQG@R5_#PF\IC+Y&6>*Z$P MANT>- K:_7TM8'D!RHVN. LR"_NTC(@RT/N9EEH,<<6N4UKSC SK8.2QO<9 MC EQ+G"U4^A"P;2[SLA]'.'H].D+=4\FZ3;'YR@LXGM1#MZ20+.'(,]9#WH: MVGJLTE$*&!#W5ET*W!S-?T07E].?Y^AB-OV,=@DY1V>+R4^3Q01, OZ&I\_< M]#2,$]QXV;,@A\'_\_S48'O. S>6=I]YH-\!,\J>T;CV.*S]%"H(*S(N?HS? M'32\>?8U^S!DZ]"Z_&%T\X1>;]AF-$Z_JF4"#[:_#V00GV.Z2PECOE>F?T]P M^=!AM&)/D/[!/]?TAANKST'6Q9CZH''A S,(.B@KI@?9(!TY) MZVG?ZIY_RTU=/]EIHR F?"(X^>;#"9\&SD>3Z:]L.\<+KO#73:( -)U'=^7' M%-7?NC#ZF *Z&\(PYN.FT?%D'\-1!S##5[1R+/VLN87DG8:^2 MZRS <\+*CH:U2!>N&S4* S9H6E.=SDXOF<) M )S;0\4Z+"3UQIC!*/-!\^XZZ"SEVLZ""-,-H2!G.\R2'BHD)^D]]1Y(%FO# M,2T\PX)0H;X9?34&^+"3E953^VXIH"),7+KR+ F%L:2*&^O Z[#6&,L*+/'! M1Y]69\W=N* $57-%/Y-?!T]L6F9'+&&8;6C;Q,%-G/!3O,[+@ED8C&7:Q6"W MA=LD";!'V4%]Z=RX6L_7@E<4>?5<4Z]+2I,\8V<[;YX/NL6IT5MV:,,.=+ M.6DA%)(+ZQZ$LG<4"]3PHOW"BF!E?>NLM_*DLUM4 F@@LQ.,_!!Q*)/3U.K:;0N GRBN;MA=12[ P9]?PZY+Y"*T9._1X!7#W4UK@-B='[@ZN[K(2 "U5T\.X M1NV:#ORPP-Q#;Q/(OQ\ M1I>G::IN#DW;=1/AM0QY#^,:M;ZLJE5C4)H:! -]MB/^R@GZOS M^^Q8@ F,NBG>J5LQ"PQQZ5"/CR;A<5=[B2+;7 M[)R';(Y&^LY#" 8S(@YIC13%7)-]A!K2N0M1E\_FZ.TOH-U/@,MEMU>#G6_7 MI 5^+$X3_5'XX7_FQ0P^0R,=;!PJ?N/W,23UADFW4-/%&+U#Q]4]Z.@2S1>C MQ?CS^&J!KF?CZQ%+N#>]@C'LJE>[3SL#K9DJ#!Q^O2:KZDWW24L.!J)V'76O MKI_0C@7JJ12\O(U7OM[&*^]RC4&;ZK16ND]]W42 0*CC MU-B%'SYN.TZ='^C4>3UC^987OU L7XZH.SBZ.D?COWR97#/G\ A=C1TR7W,K"1"+F3!#!H[J6V(@D%SS=1DP)N(G;)L>$^ M)_>6YAG4^YC<0G3T>GDDL%*JU8:)( (W$PJUILM+G.<8N\]Y#GS^ ML>-@A@PG Q,PA-DU5L20@XZLS,)N <9"Q"% 6\/3T7Q\SO9#U^.K.: XL3(%-"N*>9OR M&G/7)(G#)QOX'?A\PMO9C#J K4Q@(.JJJ9QO@/.A&B,,V*G7H>FZ#-N[(EP4.H-8+4X\EW&;0_7D M@SQ26%G4V9R1,:161-G52T$XJ:4F$ F_K8P>UMQE(K M\9<8I6.R8$$<#OLL%U[/NREW*;VHV:J]B.48B#YVG=C2XZR[#A-V@4,,U&Z&J:>*FW<<"=+1\W5 MA;; UB7RJNF((9 M,WHHN;=0?H(&Y(M-L@(TE G1+(D\'P;@_)YV M+-%ID,!3J(&'P^'T5\;MD@G?%$\ 1K& MZQ=_+#J#KFA2?$8M/BD?)5PM?H2IOHKD,1ZG?"??<81XU668\35 9(XA14"LHT7F 4/GX,"9W&0 MZ KH:&@'R5>I4E>9J+)." 8_)NVDN2AX0*N2!AAF?B;9;Y.45[3,K:!I$0^" M&J7"2M@T*.'A1J5>&SB,YCA.C]>""@9V+B87TZT5HQ4+U]38JJ3TB1J#JG7( M*,C X$6OF^1AQFF<4V\6W1(2&;'B8YQJBX3LOO?L55HK\REU Q]HQR^'[D@2 M35:LPJ4X-/LA(]KIW,3@/6&647$I4Y:2&LQ0M:JH3,C&&%!!>G MF,XYM8A $ZQ,##YA95>\#BL]-1A86554'>QQHN<*: @2?(Y7),W+[9,1'VXL M_L(1W)3?11N8Z0='20A?&)*0-339-1#8F$,'CV@G)S '+ M87+251,!0;J1F&X66UX@,PY7F<_+F@S9**YOS060//AD_DT&RWYCG+'B]^@TZB>]^9*"-G]8&S4;0 M1 ]M8^BDJ]L\!^A53#-Z=AMW7KXZTS2%CNG 4&%LM"TKQTAWFY5%+ZQ)E!U3JJ%&1@,*373?VJ$U)M;J:06TDC MG2O018)7YZN[:0U/S)T=#!"[ZZP$* QH[H5*B(#LCT6 ,+1N2?>'8=?7[Y#] M;+_G!71W%I-H7@1983DU,.DJ[=^JG=L1NL&W<+U4O^&!,&6J#KGEK3-(P M8QO08'LZ+U4%K*#XR+*H 9B-.E,:J,T^[6$ELF M %!L&> OI+##]P^"KBE+%,:79BZHZZIK10*5V6X"),@7H&&6OE/NIY.\IRN ML)V:068>'GHZ@^P0;'.^#"AJM%:6F0T2%@T>Y^P1X4MUGSX,X#Z-TQX=L]74 MX#SA- +G.8FBB9IC_6KBF^%5$*<1SJ;+BS@/@^07'&2:YME'H-\8OWT-;\8 M]I4&QN/:VX0V\AGBT.N,=B)<% M8DEO!7+?O4"TTA_6[6Y[R &+V+J9O3'+A+Q,U-8T5^#V_)7F]D%P0]"+@[%*^S:6%WV5 EYH4UHQI5E(Y058Y(K<)PX%E MV&^:-(MO[XKI\DN.1W10N3WBD'B&0YA&?3W.6@Q@O$<7+:4L08SJF"R/-Q1E M 2/,T>M+DMX>LR<H-?::#M@ MO6@)V+4QO9B^5*ALZ\Z$CL*R-]L#G.JF=X409SB:))2YXFG MKY/*9M@JV=OK_IC=R7_<6!68;VMT'*@1CD=Q3S<826)-/Z1F"2(S6- M^QFS]L#1B$X>P2V>59?F_,L%'=.Z7)S=Q0SG0[D;J9_>[3+ 0+RGXE)X8[I9G=-==9C3MTW!*,6 P;3#2&=,*&2\#TWK%K9BN MCE(0E0XD,JYI*JODX-0F@G X0-85U4..40$%54TU>X6T'$I2NCG;5K%IW(86 M%:'7O/Q:11MY]24J,&C1JB:]TF:$8D,$#B[7M$7NJ$[3FR06]=LUUJH(O8;= M:Q5M1&]+5&#@HE5-2BY1$O*L.&('3;8\8&%SOL&3=(YI3T:&H&P'OF%!I3'# MC+$6$V#(J3657FVP>WCT_N3=QX&.WZY8D<>0K/"E)@5@@\#SXPR'8S6U>M*[ MP,V*N1$DXP<%-ZR 'Q_SD2CAA[!4GN\3NN)5*IEH]#JAPH&OXQ05=V23TR&P/ZPU>7EY= . M#=1GG'_+4K!B"-IEN%:(\]4Z+;I6]*4OB]TU94W3_2<.S20QZ39Z5%')5K,MUP;C)^ MY3E^#)--A*,+VKFLBN2F"$39XG9;&.-7#R3;:^JM0S9'(S/7(02#60UX07%U,>E= M\=O3)[E$.]LO7%&_C SF27=#->WP#!&5'7^-+4S6^@->_9Y?A M5Z3X!1O=D:.]SG^C$PH^^Y+6P/Q"]I((H-T45N MN2DV&>;U:%@NQ9K *HOG[WRDBBGK@F3E1XQ.%_;K6XG?Q9@V-K"7@:[4X/<_ M^DUFRVYO%=TLW5@&M<)D2.1J]'QH,-A=7T1";Q"AO\7W)ZJPM+W4EUYL;.C& M9H7&"7?LW@S1E]MZ:0OJ-^9+G&4X6A"&X>GR!U:L?$Z22.H_)RY8?=9%96W5 M7E1C1@N"&#N:+A$7@)B$03J1/V.D<] J+J0\U$H"6%VCT6Z/T;)'I,87.CMC M5D&@P/EGS"XT52JKJ+S%6NA5W':X3 *KR[7ZP9HBM]<#_&FWX2UU@P#0B;A: M+^F&@E,=H9)NT$;6MRZX9K6TYT#-*->=436I3 6H>0W*Z;*+4]*A\ZH M#X"S7/B!RF-+B>K7K\$TO$$YY1%B2?H')(C1J"BR^&93L&?W[(;S.ABP/VK0 MH)ZY6^_8>& .$K.JAB'#PZ0$^4"=Q,O17V=D&2NGJ=K7@)I>I56[E3D-$D1# M)Q,9ET6 5"TL$0%J9[UN^H>18X>"1S[:W/R.1$$&L=T5VNE;?E(^#[FT/0]Y MQN:_(BEI*E_B0=4)6F) 76'747K=4^/8]DG)-%2W"#46P6.IQRE.L6;&UY " MZA*;ANT.*?N ,E23$WI=\@S5'^R\.L-W5!=VBLGUN\+%=$EU5/6)@1Q0O[AH M*1TOU'F:,]@1?_-&EJSCCF!YMO7'4=K0B*I EM]'BM;0AK9:\J-U1G2$!-EP M\U6CP.(D'84\/4<^PR&.[QD*-).7E0_0B.FDKF):XTSH=<7^%8I35$E .Q%@ M.G&2WM-!2[)8[0H;&4!WFTI/Q_ZJL8+I)W$A4!9-UIX*NO"![C6#NHZ=)_)7 MEB+0H,>.LGGG6%R4S3!%F#JYNY4)=/_I='7LO(H=E?R .FY-\KC@X.HR_&0^ MX-VG5=>Y![F$80<>]5)9YL?KC-S'$8Y.G[[D+(WD=E\^"HOXGI_V*?? SMR M^K*'TJK:V#QA9B4$W3RAUTP.[=BOT.Y48R=KJ!*R9;6(!1F%?]_$&:8:4^V* MIVMJ4%'&G*QU3XS=N0'U;P^EI61&I0BV5RN%H$K*$>)RCK:GWUP4K.$[X4%F M?8>O@AM0]_90NN/PW8J",WQY\%_UXF^Z9.$N).6W-J9AJ^<"U)\=E-4.4_;@ M?\?,CET$.^+\L,;F19P&:=AW;"JX ?5E#Z4[CLVMJ.'')M.2KB;L#[8,W <) MPZ((UFW[B\IST0[\@/JXE]K*;.-L >5_J$=CC8)G9.J MTXZJ:L2"G4\M\&-QFFAF8E=>0/W;667I#+84P*;AK8AM> WZ&Q>#F!S$!?WO MX/TZ$B4\:J$-77K6Q@VR;YV5-O5N*0358T+ =*_6Z^>Q%4JWR<@!J!L=%97< MI>8.IKF!.4*<>:CH30F.UN6)!4/KEF@!DX /61HZ)R5",=4D$6B9'U6."4^:^E,%1)0Z6X(U1Y-GS_ M4DD'U9OE/V/3?;$;)_C>U2J\;R]O/5G6R[M?&?:.VDM173A=WEEE5?U1C(]J M1[M*A%0DQ X=2MJ_PBN< M_K1IJ \K;?>4HC?J'UW2O]&/JX_H?UAJ+_K)_P-02P,$% @ $I,,46\K MS."J( .?X! !4 !D86EO+3(P,C P-C,P7W!R92YX;6SM7>N3VS:2_WY5 M]S_PO'57257D>?D1.\EM<22-H]H922O)R>:^I#@D-.*:(A0^YI&__@"2DB@1 M !L4*8"*=ZOB\1@ N_N';G0#C<:/?W]>>L8C"D(7^S^]NGA]_LI OHT=UW_X MZ=7G:<><=@>#5T886;YC>=A'/[WR\:N__^]__H=!_O?C?W4ZQHV+/.>CT<-V M9^#/\0_&T%JBC\8GY*/ BG#P@_&+Y<7T-_A?UY-;\M?TLZ+DWR_/__NR=_X]^<_%Y>SRXN/5^X]OKOX/ M^+'(BN)P\['SY_/L?VGW'SW7__*1_N?>"I%!\/##C\^A^].K'(M/5Z]Q\'!V M>7Y^/X?. MJ[7P$PD&V$,3-#?HGV2B;+[J6)'E8C(UEF?TG\X(//$2^9'I.WT_7*(^(XJT1C%_LA]ESR M:^1<6QZ5['2!4!0._-D"QR%1QK#_;*-5-%U8 2*SU"HC_8 A%7$T)G_ZT0)% MKFUY#;#''+]N7JGR(SIEPM%\M*(&D4R5(E%C%"1TF4L+E M*D +Y(?N(QJ0566);G&8)ZTJG_"1&^-O-)]&V/ZRP)Y#EK/^'S&Q!I78$0W4 M(/5=*US<>/BI&@:,_G70.L01NNCW0UW47'7& 29V('H9$S.8+%5D3JVH#(8H@I '&Z$N>M]T1L0( M!Z9M!S%R;EWKWO7<""C)TLYU4?FV\[Q$9$)&(@D0,0-TZ7NBCZOM.W I\,'ZZ7/0A1_%YUT?6ADPS;HQVANI$6LE M0:VHWW'L5?91B7CTD#$;MV/5V*DPW+$XN:B9%=9X==OJ:B"4]VZ(3ED1 [HW M1.G0"J@9H]L]AU L&J:Y.&W_X]7B-MXHS:WOW%U$NG\J8>L/&[DY_JK@ A^E M<9^F:"Z*LCS(XY'YP+&XO:B#HXMC4WU9!]67$*I7 0J)M4CZW9)?['1!SQ'R M'>2L!Z+T'W121GY-1\A.-"^,CK'NE?^1S!PC'<+(CY'1O:;L>>;\A*Q!.97YKH+3?JI!V&8\J5\&4M E:X8">Q*5I:L+%D-,# M", [A6NBD%>%(-RX'@GQR81XP('0$=EK"!3Y>W4B9W*F4-+])0H>"/2? OP4 M+6AP9?E"B7,Z "7_O3K)"SE5B,!T:7G>=1RZ/@J%=F:O(5#B']1)G,F92DDO MD.FN 8O7>P(=U)*.D(Q41*-2K"NV+T9QLM[%(APR+>""EU);,IC M2J47CY=+"CVVOR1[Q^$HCI++.L0!$/KRPGY0%)1$L'#&E6[/I#%?NHUQ0W[' M<7D$S:$H*(EL2]G40/@TX :+/M<8*G@E$6T)BPRQ_WA6X.*6_**A4Z-#+AKM M'"9=&AUCD\=$?NZ.AM/1[:!GSOH]X]J\-8?=OC']N=^?38UO7-^(UJ-_9Z!D M?".D'S H@=\:WWSVK=AQ"5'?5CYW6L_&N17>)\C&8>?!LE;IE$1>%*Y_LS\W MLU__GKM LF3-^A?]"$P4?+HSD]9M2U@N"% M."W)]6 ^.L#NRD[00$#@*BSI!*)IV\GUR0FR$2'XGD0"*.+'_6NA"'LI.XVK M !F$?SV06B<7O^2NK!61V6VE[-RN A(L_O20?)J$FV>%+W]66V7G>150X/.J M!Q9 &*HA4'_X4\4BE0B?T#Y'Y!^=VY1K+H4)>1&.+"]IJ10VR/W;(HKB7LH. MKBJ "K]_K%K!TN(#,^MYNR**5AM&8V7'6Y46'2ZW>L"1L\=#[-L2RT^^N;J3 ML,.6H"++>J"24E>V_*@\<:F\\)S*BI.[+47L;;$B2?GV 7P$=:<+A^_WR,I) M#P7,40W>#A+U47DT8))0@_4,C(W<2(2>?V,MN#C"VW0 MX7.L!R(RNG. OEPV=OXGC0A(1UH9I&7E/?V'I*3!FL\7T$Y'>5-8# ME%Q:=5E"4J$E.)%%&SAXW.J!Q816??&1LZXW1$*->!DG>RLD@G=M5V#@('VA M>#7FVDOC!9>('@CFZ%L7\V+5K1^B:#0GL:,P5I8;"(IM8T=ITMA6E)4>0/-+ M^$-\#SA-7@9IQ)EE[E?U8] X3@W=G!VR%&94!JUHJ[]C17VVS$[UU>N MZKV^LO/%KU=8FF=O)L[EVF]7IMD%+6E(O2MG-NPSE$]RT@$/HN-H0'X4[,"P MVFJ&R\ZLXB&0(S]_X*$#"EW/"L/LR2+SV86 4>S21DR*7.0N/JD,V'-T]?"2 MA$>"D)W15C,L>/-K/W!G<+*])*A241 M9V_N[O/<(4X)A#7WHDZJKP?Q)]B^ MJI2SKD>P=M1[D8WG,!;6Q?9=C30]#S]1M_L&!ST-"O/?I,;1H^+ MK< L@RH2T@-<1<Z4 !6OG>2,Z#9G.R!]W_>%L:HQNC-&X/S%G ]* \+EB]]']:Z&'";EW.N!TJ< A^$XP'-1SM5.(]6%N.1P8/#7]C2.S>6 M_C-]1PT!RA(*NJC>S)"#LY1W/;1J0F1(:*!%X'K$.'LXJ?&2T2Q:?X3=5&]E ME M_?UT"2$$/P*;(\^C+$L@G+'J$8--9NG[RNANM"U^*'+2_ZJT-60CEY*(' ME@4>)>RBP@=H*B+$Y?9DEKEMBBP R'QCU7L>E:$L M0H\)L]OCB'2"YLJO])^)Q ABKF\%+TE^#JTR0'H2OKQ$3NE25+8KW]!'E9?U MJKZ$-PZ%'K9EPT FEVL2U0OW?;D=E%<&.PQKK@CDKG$DRLOA=H"BI%W@6R("/7#ZE00!"T*5^4@X?,@>MQS-"UDJ)1HF.8SR\E55 M,:TD+JV1SF:E1'*6]$!0M+6+L2J*3-M,+DY=C5Q:%SN#ZRT\@ZL[NAM/^C_W MA]/!+WUC,"1_[QO?W(ZFTV]W4[IT2=S*79OFU1Z1NMI>/LBI^KY'*-D/14C2 M!U9=&+*DWLT8!XFHHRAP[^.(7O>:X;0H!""QI:X/J,YJ.GP:U"QK_2<0?X_7 M])WD;UX*G_/O.$SJ/0*VQQO[H.K;?75/#_CDJP$G/28C@[_R F?"3LHSNAJ= M% !YG4AQI9SU%A22VO$ZWX&\3NIT3F>C[C]^'MWV^I/I_U@K'/Y@]/_Y>3#[ M30^_LMHU:%!W'>K"M+U:4H7Z=U_+)6E2FN=6WW))Z52B%A[[-/P&EDQB=VLC M-FQ.]"B=M$=;6?4D3G/-4!'-N/V]:39#N:L,>MP9+2N?Q&BJ^A94%3BX'.OA MUN_77BY#A==>FRT$"6C$O.N!#Z!^!JD'9]%0JN\\'@IS MN9@T0GF"5G%@+RQ"G>D[Q+US ]:D+0$8/(KJVY)RV$H*ITVPEKQI)#6(^GI> MM8*JX0-(P@5E@L(H<.TH*R=G/EF!DYR;W.!@CMPH+M??PX96?6^VGG591HQ: MSXID_C8R*21&UJ J60VK^,G,B72*K]^E3QJ-,RLX]BR_JGT0#:C\DG4]9J%< M9EH#GTQC+@_5+(!@..7WLFM1^U)YZ0'Y-@$FG&'3<9*KR)8WMEQGX'>ME1M9 M7C*)[ZFS0S?YD!\F4$S0'[$;NA'*"HVEO$^0C1_\9)02][#Y+RN_'PY_5N!( M*.@QYYJ]+]9@"70@FBU/CJV6J"B=8-;;9\.D5+(EHY=:WX,2- [PHTLPOW[Y3!RJ@;\I@V;:D?N8/M!:7B6L MPECZW/SAHEGT9BI*3(\ELUEOL[$+EM6EWAIG="?JH2&+;[L>VB%XAFO3UF:^ MICHWI+9YTB08>DRW'B+@V&X"#?G90]EU('-);YO\F?R>/WU@O57GF32*(JX@ M$)TF@-(JA(UM2QP1O9^007SU!__S=U7F"?<\'+S+R6) MR&3[7 +GA0C:&=A7=5[1,6:!A#AT4OMU09_=C=.2W1-&>]4Y14=4=+'(*H?P MCRBXQR%2OQE#)!8@PEX/I7_F9)3MMH.>&P*/H3IEJ38O45YP>MB (MW%!W]E MH&;U5IW"5 &;,G#Y0FI_U<(BMP/_D4@9TX?79>;"3C?5>4P-3 *&6$X1_?0P M*'M O"0D@/56GK_4P&3@2^D4Y\3:_HVM%VK\:'1KVT%,B'6M>]=+5LPJRX9X M/.593PVN)!!)ZNHR]+)9G;U]* -\H:OR)*<&,.;(YR3#!6H&:?WMU!)6- >B M490G+S6U> BEIJ_J)]M="0/RS@&KM_)TID8, $]*[7<.X"%T'0?&&F11'3P_ MY"76]B+J'(YI !76E%P@'$N?/*^#TPL ,M-CK2 .[3IOU_XC=@-$."$S/'JA MN=X1\7,W.^9\K&7&4)X%=@!@N#+7I[**$!9MA)SDU9>IY:'1O,ITD1E$_3,; MM=GI82+@$JAC.9#(2=$>/ZEF_7XT((QU+^-DA]+@1 9GK8 MA[QAHZGOA&J4/"VPKF &6PHX7:&(-O=*9G5X^ N 4$Z:P)KY-S(%QH=1AV'9Z*J6N6R$NN[XM?0/ZMH^$J>7'J$D M%V'VMV?XLT5N%.A\.7:NBOQ\J2*]ML^8_GR.;.(Z]9^)#?4?T(08O9'/E@1_ MQLB- ITQQ]Z1D)\Q5:2GAZ_!IM$D<@F"%R*"DKOXP.Y0I(^]EU"7;>#(ZS0J M+QYCBDA<4[TZ]NY#0Y/DQ&XIQZN5EX3?EK<.O_OI+R"W/D&]H1-$IRT&&;GH ML2+D7@ZG942(4@A/K MMH2@U5SQ%1N2<%[<+O"M_2'*((W31R6R1Y6VFXCA M1"J[:?8[5\B_-SI&SPUM#X=Q@,A?AJ-9W[@@/]P,AN:P.S!OF(5BTL#Z7'59"]XZM^<"T-9?DA\'P%V)>1I-!?ZK0 MKJP9>-D2";FO(^BD=*$NT 709W$OQ;H)P*>P8I<+00OMN>IP#YWS;D9>G2[. MF>IT17X83T;C_F3VVW?&^-8DR[8Y["7O[(WI(OZ=,>S/%&H9E]%R70-T57O> MQJ9.2@/E1E&LD6 LBT=NTJ+20D_?=-(L5/XE@QT5O6"JZ!ORPVCV,[V_1J0$D4R7'4/LA4>G]$2GTK#ZA8DZMA M7WR\Z1!I:J'A;SNW].2&H]"73(5^2WZX[9M3I=J;DEVNG?OM%&I?2LIH?HO" M$"$I/0-T5:Q1;#SV- 8L 2UTXUUG7=ITZ:85(]A:;9:\[NKL;S*@S MJE)AHL0,-#8Z_63+&98M6H)/E\N1CN--1! M2]YW=CABJ\@;IHJ\3XMXS@;#3_UA5ZTWV"+U."+#@*5)=IPV*V-%EC72UN\[ MZP=CQRA("A2Q%?8M4V'I\4G?G R)PDZ-,5G:IC^;D[Y"K=UGIEQ!^3U4)ASM M$050.T$7Q1I6ALE^NE 9[UKHS8=.0ERG\'0$6WW>,=6'G@@D&M.Y)M%3CSJ& MX_YPJOJ D5VG#)"H4-)/9972C>R3!.C<0Q_)6\NTTEZX)7]SAZY<[0X>6'7I M:A#6^T5*ZY&F%HIV;Q+H,CGI@>80/64G-?1MP0#[Y$<[Y2^E&XRR_$BJ M*]DWB7Y5N;;!#9S1 SV.$U@YA]3X)AWVJPNHL0M(D+4>'@)ZT36A,_-L$N1@ M\2&D^PF[@E("U,(6[.1RBC0?E-&I@Y:?5&KGU%X@)Z:5:C849LD:4*6$C]"Z ME$]9X=1<1E2WU%&!]EX>DD"J@U+_]3))#\D?U4>I:\\:U7,5Y>:*BG2R0L:H M#JKX%TP=W2XT'(2EUN'R,4XA051>9NVO\KWEF=@O)[:C7ZT@( ;L9E.UYDDC)T M%H%U.K'(YIM@X%N87;R=-S=Q1 1[Y_KN,EY.*+A> MKC;8IG)T#BDI;3QH^#9D*=61XOX31>(OF(WQ\$R?SH_ MPT"@Z;B'#ZO:!HL1KH='C0QN,9]/9'K9F>KLK#X=S/")I/=M#==6Z-K$ M.^BY7DPGG+0QEARP7:F!!\I-"P7E)@Z*])2=+B]*']1!6T\PCW [ _.DT80W MLOX74MY,ZJ@_9*+I-@/6C7ENL+ M9<]JKA@ KFQY$+!XV(9M=>Y,;](4Z.MBX1U:WJ. (5[:EMU46;@@EE9Q(UG$ M:4/;_J9CK2(4E(N6U5"9.RTK6#Z739VFX'GT1/>.T$1<8GHJ(!2PN(NR MO']944,XUR.8S?*(!2[*MH7J#2NN7\6^-G?X4SO:I'\0SYG>[DJ#P8D;?AFC M@/[">D 7?.3$O93O'T'AA#"O11"_D_$N#-G9A0P**>\:A.0:%-@^3C-6Y?-+F1;CV5H0^*O./@R\)/7%$,(-'OM51NU \!A# MF]&&3G-)+R?RH6$V5KWG+(^+@&<]0-D05_)\2KZ5ZHNS!Z@'^Z&4PQ_"T^VN M3;;F#_S9 L>AY3L<%X)=- 5Z[V;M61C?N+X1K;_T]1Y. XPER6X+[#F#Y2K MC^G.]J< BY8W49^6WKLI%X,>9O7.(OS[B-C\'&\E<(GZJ/9(JN)5+H>F=HTL M#_70$OMA%O*5HI#LN)3U4NV!2., XDHGS>%R6*(]9?U4.RVUWS3D8=?*5WU- MVXZ7<9+8W4.$ ]O-,A96'LK.>8GW'$39&3!7*/SY4=\7@#.IL4?IJ\ZDNF6L MN;T0!C3B7D"$&WM0OG9;<3IA#_\Y;Q[I6MSXS*C M5Y"\5=+O%&XSPV2CC<7.7YU-^+<\H:UFME<=$]4"G%@8>@!&7P%/I>IY^(F> M0=/SZPF1=O"(PNR:'A\_8'?5H54M<$J)2@]TLT>DDV>R2FTIL['JT*H6Y 1B MT ,GCM_#8E6P%LH,HCK0J6=EE!>;'G@?"G7-*#<6[-3UW%\U@$\Q!KHH#8+8 MQ1)A09!Q\34,^@NYSUJK/=A[EE-S$DRYV)E&5A"IWQIE\SA.2!SX=D #OAY* M_Y2=!;Q13CBT$@M.CZ6?0WEV]U :Y$V_DPBQ8,*1U_T/J>[[M#ARUE;#29#] ME8AN$(;QUFF 3H9B_Y.(WN2$=:J30W8R_'YY(D$>G[U:/(&^OP^YNNI]P'.. M*W9%Y7PE/_T.-5I8V2]]+9NS_;Y>E":(7O$A>D3O)X>VY?V&+-;=I0U[U<=L M0PV_PV6FAYL&XJ,7(TKY[ D?"'A^(-7^>7TP%\730FS)AP6A5X6A5#OJ]>.; M%U'[$+[!\:'V>F-W'FO0W'4FU3UT_O#D!M0M>*=@F[+3_IWMOT*CW8OF*_6<38]=+J M%+N%^UZ[\V[B/BRBT?QSB$QB?,"YN(5N;=B] G&NA]ND.&-:[?:3=$IT2ZOZ M2-='SL G;O>"EIDN/%($\%4/&K0-BVL-4M-QZ?T54;Z08Q([8CV@]&QK M_8\S%"P%]=?D1VKA\@P74 O@[64A]H1$Q%F5N8KP,D=JX9(,%Y".\-(G1: MIFU;<;[#9U(/$*8+'$14]P$@L-JVXA2&SZ06Q2C?I5<-NGBY=*-T4WG/\V2[ MF^S'[-YM+AAT1W=W@QDM)<7T/!6ZFCE63=_I8I]J"/)M>KU"HGBEY# J4PGC M@+A6(1K=>^Y#,FT$:82,MHK=RDIX[:+2<@W13;V'7$N&:"K M:G>Q&00Y$M+"JA8?!LW%[_189A6M_Z%'NHN* %^QGR/D/1LZR 7TWQDH^91! M_ CI!\S*+'?:E$Q^$1>%QW2IVL)]NA66+QJKUF[7@)E\MC^?=6]F&48T[+[ MV8MSV7V"Y*53/JKP$52'=)*(RXJFH1I_R0.S=/-SN2*TCN:C%957F!4^BE[, M)RMPPE$J#/?%P:[@3(V=?&XRW_G2R&-? =HO8;X_R8ABMMHM.)$XQ2=#M9'X""9KC(+F)24)1+R83 MX(;,>_I0;KQ^9;/ 0TF^94W#MRLNJE6F6NQ;?.@DE'7N]Y]=+EY*+>YBL%6? M_881K4^3:'OGVISV>W2[>-P?3O?>&][-3^!M9R@T#K WJEFG&>)^.CQ+V\IW MA*L]&O[U@> &$='K@6!I%-*=KRV!]$M4@.PW@[->PDXMPD7(1R,O"=>%#_=E M83%GFKPP#!&_#& U/3I?Z?K)?X=WG= 'Z:QZ^[L*:!)2T0/&*?+(F ^?D(\" MRZ.//3A+UW?3-V$>449YJ.,8Z&S! 7QFQ[H)4^' 3^N<-C"_.-]1[7@? M=U()A=V*9>>2O>RPGT>"+3N77Y>=>L^6EBL/OR T1<&C:R,VI<2\/:*0'O,G M:1PS>F\__^\TN"3SX3<439"-'WSW3^%):W.?;..BTS@">JPYC;&9VL4;'&2_ MHNT$5]V.34&UL M4$L! A0#% @ $I,,46G=-Q!3"@ )EX !$ ( !M5D M &1A:6\M,C R,# V,S N>'-D4$L! A0#% @ $I,,42N?F:W8#P 2\T M !4 ( !-V0 &1A:6\M,C R,# V,S!?8V%L+GAM;%!+ 0(4 M Q0 ( !*3#%$G^4T?)PT )2; 5 " 4)T !D86EO M+3(P,C P-C,P7V1E9BYX;6Q02P$"% ,4 " 2DPQ1&VH-F>DM \> ( M%0 @ &<@0 9&%I;RTR,#(P,#8S,%]L86(N>&UL4$L! A0# M% @ $I,,46\KS."J( .?X! !4 ( !N*\ &1A:6\M F,C R,# V,S!?<')E+GAM;%!+!08 !@ & (H! "5T ! end